[typescript] 다중 타입을 사용하여 타입 가드를 작성하는 방법을 알려주세요.

타입스크립트에서 다중 타입을 사용하여 타입 가드를 작성하는 방법을 알려드리겠습니다. 타입 가드를 사용하면 코드의 유형 안정성을 보장할 수 있습니다.

1. type 키워드를 사용하여 다중 타입 정의하기

type Cat = { meows: true };
type Dog = { barks: true };
type CatOrDog = Cat | Dog;

위의 예시에서 CatDog 타입을 정의하고, 이 둘을 더해서 CatOrDog라는 다중 타입을 만들었습니다.

2. 타입 가드 함수 작성하기

이제 CatOrDog 타입을 가지고 타입 가드를 작성해보겠습니다.

function isCat(animal: CatOrDog): animal is Cat {
  return (animal as Cat).meows !== undefined;
}

위의 코드에서 isCat 함수는 Cat인지 확인하는 타입 가드 함수입니다. animal is Cat 구문은 타입 단언(as)을 사용하여 animalCat 타입인지 확인하고 boolean 값을 반환합니다.

3. 타입 가드 함수 사용하기

이제 작성한 타입 가드 함수를 사용해보겠습니다.

function catOrDogSound(animal: CatOrDog) {
  if (isCat(animal)) {
    console.log("Meow");
  } else {
    console.log("Bark");
  }
}

catOrDogSound 함수 내부에서 isCat 함수를 사용하여 Cat인지 확인하고 그에 따른 사운드를 출력합니다.

타입스크립트에서 다중 타입을 사용하여 타입 가드를 작성하는 방법을 알아보았습니다. 이를 통해 코드의 안정성을 더욱 보장할 수 있게 됩니다.

참고 자료