[typescript] 커스텀 타입 가드

이번에는 TypeScript에서 커스텀 타입 가드를 사용하는 방법에 대해 알아보겠습니다.

타입 가드란 무엇인가?

타입 가드(Type Guard)란 런타임에 특정 타입의 변수를 판별하고, 그 결과를 TypeScript 컴파일러가 해당 변수의 타입으로 인식하게 하는 기능을 말합니다. 이를 통해 코드의 안정성과 가독성을 높일 수 있습니다.

커스텀 타입 가드를 사용하는 이유

기본 타입 가드만으로는 충분하지 않은 경우가 있습니다. 커스텀 타입 가드를 사용하면 더 복잡한 로직에 따라 타입을 추론할 수 있고, 특정한 조건에 따라 타입을 변경할 수 있습니다.

커스텀 타입 가드 사용 예시

아래는 isString이라는 커스텀 타입 가드 함수의 예시입니다.

function isString(value: any): value is string {
  return typeof value === 'string';
}

let example: any = 'hello';

if (isString(example)) {
  console.log(example.toUpperCase());
}

위 예시에서 isString은 런타임에 example 변수가 문자열인지를 판별하여 해당 조건을 충족한다면 해당 변수를 string 타입으로 추론하도록 합니다.

이를 통해 타입 안정성을 확보하고 연산자(toUpperCase 등) 사용 시 타입 에러를 방지할 수 있습니다.

마무리

이제 TypeScript에서의 커스텀 타입 가드를 사용하는 방법과 그 이유에 대해 알아보았습니다. 동적인 타입 변환에 대비하여 안정성을 확보하는데 도움이 되는 기능이니, 활용해보시기를 권장합니다.

더 많은 정보는 TypeScript 공식문서를 참고하세요!