[typescript] 타입 가드 함수를 이용한 코드의 가독성 개선 방법

타입스크립트를 사용하면 정적 타입 지정을 통해 안정적이고 안전한 코드를 작성할 수 있습니다. 하지만 때로는 복잡한 타입 체크를 해야 할 때도 있고, 이때 코드의 가독성을 높이기 위해 타입 가드 함수를 사용할 수 있습니다.

타입 가드 함수란?

타입 가드 함수는 특정 조건을 검사하여 해당 조건에서의 타입을 확정짓는 함수입니다. 이를 통해 더욱 명확한 타입 체크를 할 수 있고, 코드를 읽고 이해하기 쉽게 만들어줍니다.

예를 들어, 아래와 같이 유니온 타입으로 정의된 변수를 사용할 때, 각 타입에 따라 다른 동작을 해야 한다고 가정해봅시다.

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 함수는 petCat 타입인지를 검사하여 boolean 값을 반환합니다. 그리고 makeSound 함수 내에서 이를 활용하여 pet의 타입을 확실하게 체크하고 해당 타입에 따른 동작을 수행합니다.

이렇게 타입 가드 함수를 사용하면 더욱 명확하고 가독성이 높은 코드를 작성할 수 있습니다.

마무리

타입 가드 함수를 사용하면 복잡한 유니온 타입을 다루는 코드의 가독성을 높일 수 있습니다. 이를 통해 코드를 유지보수하고 이해하기 쉽게 만들 수 있습니다. 앞으로 타입 가드 함수를 적극적으로 활용하여 안정적이고 명확한 타입 체크를 하는 코드를 작성해보세요.

더 많은 정보를 원하신다면, 타입스크립트 공식 문서를 참고하시기 바랍니다.