[typescript] 타입 가드 함수 사용 예시
타입스크립트(TypeScript)에서 타입 가드 함수를 사용하여 유연하고 안전한 코드를 작성할 수 있습니다. 타입 가드 함수는 특정 타입이나 속성을 검증하고 나머지 코드 블록에서 해당 타입을 안전하게 사용할 수 있도록 도와줍니다.
다음은 instanceof
키워드를 사용한 타입 가드 함수의 예시입니다.
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
}
class Dog extends Animal {
breed: string;
constructor(name: string, breed: string) {
super(name);
this.breed = breed;
}
}
class Cat extends Animal {
color: string;
constructor(name: string, color: string) {
super(name);
this.color = color;
}
}
function isDog(animal: Animal): animal is Dog {
return animal instanceof Dog;
}
function getAnimalDescription(animal: Animal) {
if (isDog(animal)) {
console.log(`${animal.name} is a ${animal.breed} breed`);
} else {
console.log(`${animal.name} is a cat with ${animal.color} color`);
}
}
const dog = new Dog('Buddy', 'Golden Retriever');
const cat = new Cat('Whiskers', 'Gray');
getAnimalDescription(dog); // Output: Buddy is a Golden Retriever breed
getAnimalDescription(cat); // Output: Whiskers is a cat with Gray color
위 예시에서 isDog
함수는 animal
이 Dog
인지 아닌지를 확인하여 해당 타입을 확실하게 반환하도록 도와줍니다. 이를 통해 코드 실행 중에 발생할 수 있는 타입 에러를 사전에 방지할 수 있습니다.
이러한 타입 가드 함수를 통해 코드의 가독성과 안정성을 향상시킬 수 있습니다.
더 자세한 내용은 타입 가드 함수(Type Guard) 에 대한 타입스크립트 공식 문서를 참고하세요.