타입스크립트를 사용하면 정적 타입 지정을 통해 안정적이고 안전한 코드를 작성할 수 있습니다. 하지만 때로는 복잡한 타입 체크를 해야 할 때도 있고, 이때 코드의 가독성을 높이기 위해 타입 가드 함수를 사용할 수 있습니다.
타입 가드 함수란?
타입 가드 함수는 특정 조건을 검사하여 해당 조건에서의 타입을 확정짓는 함수입니다. 이를 통해 더욱 명확한 타입 체크를 할 수 있고, 코드를 읽고 이해하기 쉽게 만들어줍니다.
예를 들어, 아래와 같이 유니온 타입으로 정의된 변수를 사용할 때, 각 타입에 따라 다른 동작을 해야 한다고 가정해봅시다.
interface Cat {
meow(): void;
}
interface Dog {
bark(): void;
}
function makeSound(pet: Cat | Dog) {
// ...
}
위의 예시에서 makeSound
함수 내에서 pet
인자가 Cat
인터페이스를 구현한 객체인지, 아니면 Dog
인터페이스를 구현한 객체인지 확실하지 않습니다. 이때 타입 가드 함수를 사용하여 문제를 해결할 수 있습니다.
타입 가드 함수를 사용한 예시
function isCat(pet: Cat | Dog): pet is Cat {
return (pet as Cat).meow !== undefined;
}
function makeSound(pet: Cat | Dog) {
if (isCat(pet)) {
pet.meow();
} else {
pet.bark();
}
}
위 코드에서 isCat
함수는 pet
이 Cat
타입인지를 검사하여 boolean
값을 반환합니다. 그리고 makeSound
함수 내에서 이를 활용하여 pet
의 타입을 확실하게 체크하고 해당 타입에 따른 동작을 수행합니다.
이렇게 타입 가드 함수를 사용하면 더욱 명확하고 가독성이 높은 코드를 작성할 수 있습니다.
마무리
타입 가드 함수를 사용하면 복잡한 유니온 타입을 다루는 코드의 가독성을 높일 수 있습니다. 이를 통해 코드를 유지보수하고 이해하기 쉽게 만들 수 있습니다. 앞으로 타입 가드 함수를 적극적으로 활용하여 안정적이고 명확한 타입 체크를 하는 코드를 작성해보세요.
더 많은 정보를 원하신다면, 타입스크립트 공식 문서를 참고하시기 바랍니다.