[typescript] 다중 타입을 사용하여 타입 가드를 작성하는 방법을 알려주세요.
타입스크립트에서 다중 타입을 사용하여 타입 가드를 작성하는 방법을 알려드리겠습니다. 타입 가드를 사용하면 코드의 유형 안정성을 보장할 수 있습니다.
1. type
키워드를 사용하여 다중 타입 정의하기
type Cat = { meows: true };
type Dog = { barks: true };
type CatOrDog = Cat | Dog;
위의 예시에서 Cat
과 Dog
타입을 정의하고, 이 둘을 더해서 CatOrDog
라는 다중 타입을 만들었습니다.
2. 타입 가드 함수 작성하기
이제 CatOrDog
타입을 가지고 타입 가드를 작성해보겠습니다.
function isCat(animal: CatOrDog): animal is Cat {
return (animal as Cat).meows !== undefined;
}
위의 코드에서 isCat
함수는 Cat
인지 확인하는 타입 가드 함수입니다. animal is Cat
구문은 타입 단언(as)을 사용하여 animal
이 Cat
타입인지 확인하고 boolean 값을 반환합니다.
3. 타입 가드 함수 사용하기
이제 작성한 타입 가드 함수를 사용해보겠습니다.
function catOrDogSound(animal: CatOrDog) {
if (isCat(animal)) {
console.log("Meow");
} else {
console.log("Bark");
}
}
catOrDogSound
함수 내부에서 isCat
함수를 사용하여 Cat
인지 확인하고 그에 따른 사운드를 출력합니다.
타입스크립트에서 다중 타입을 사용하여 타입 가드를 작성하는 방법을 알아보았습니다. 이를 통해 코드의 안정성을 더욱 보장할 수 있게 됩니다.
참고 자료
- 타입스크립트 공식 문서: https://www.typescriptlang.org/docs/handbook/advanced-types.html