[typescript] 타입 가드 함수를 잘 활용한 실전 예시
이번 포스트에서는 TypeScript에서 타입 가드 함수를 어떻게 활용하는지에 대해 알아보겠습니다. 타입 가드 함수란 무엇이고, 어떻게 실전에서 유용하게 활용될 수 있는지를 살펴볼 것입니다.
타입 가드 함수란?
타입 가드 함수는 특정 조건을 충족할 때 타입을 좁혀주는 함수입니다. 예를 들어, 특정 타입을 검사하여 해당 타입에 따라 다른 처리를 하고 싶을 때 타입 가드 함수를 사용할 수 있습니다. TypeScript는 이를 통해 런타임에서도 타입 안정성을 보장할 수 있습니다.
function isString(value: any): value is string {
return typeof value === 'string';
}
위의 예시는 isString
이라는 타입 가드 함수로, 주어진 값이 문자열인지를 검사하여 value is string
형태로 반환합니다. 이렇게 반환된 결과를 사용하여 타입을 좁혀줄 수 있습니다.
실전 예시
다음은 타입 가드 함수를 활용한 실전 예시입니다.
interface Bird {
fly(): void;
layEggs(): void;
}
interface Fish {
swim(): void;
layEggs(): void;
}
function isBird(pet: Bird | Fish): pet is Bird {
return (pet as Bird).fly !== undefined;
}
function getPetInfo(pet: Bird | Fish) {
if (isBird(pet)) {
pet.fly();
} else {
pet.swim();
}
pet.layEggs();
}
위의 예시에서 isBird
함수는 주어진 값이 Bird 타입인지를 검사하여 그 결과를 반환합니다. 이를 통해 getPetInfo
함수 내에서 해당 타입에 맞는 동작을 수행할 수 있게 됩니다.
이처럼 타입 가드 함수는 실전에서 유연하고 안전한 타입 체크 및 조작을 가능하게 합니다.
마치며
타입 가드 함수는 TypeScript에서 강력한 도구로써 타입 안정성을 높일 수 있는데, 실무에서 이를 잘 활용한다면 코드의 안정성과 유지보수성을 향상시킬 수 있을 것입니다.
이상으로 타입 가드 함수를 활용한 TypeScript 실전 예시에 대해 알아보았습니다. 감사합니다.
참고 자료: TypeScript 공식 문서