[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 공식 문서