[typescript] 함수 타입을 확인하는 타입 가드 함수 작성 방법

TypeScript에서 함수의 타입을 확인하고 싶을 때 유용한 방법 중 하나는 타입 가드 함수를 작성하는 것입니다. 타입 가드 함수는 특정 조건을 충족하는지 확인하고 해당 함수의 인자의 타입을 좁히는 데 사용됩니다. 이를 통해 코드의 안정성을 높이고 오류를 방지할 수 있습니다.

타입 가드 함수란?

타입 가드 함수는 주로 조건부 타입, 제네릭, 인터페이스와 함께 사용되어 특정 조건을 판별하여 해당하는 타입으로 좁히는 역할을 합니다. 이를 통해 더 정확한 타입 정보를 얻을 수 있으며, 코드의 가독성과 유지보수성을 높일 수 있습니다.

아래는 간단한 예제 함수이다.

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

위의 코드는 value가 문자열인지를 판별하여 value is string 형태의 결과를 반환합니다.

타입 가드 함수 사용하기

타입 가드 함수를 사용하여 함수 내에서 변수의 타입을 확인하는 방법은 다음과 같습니다.

function greet(name: string | string[]): void {
  if (Array.isArray(name)) {
    console.log(`Hello, ${name.join(' and ')}`);
  } else {
    console.log(`Hello, ${name}`);
  }
}

위의 예제에서 name이 문자열 또는 문자열 배열인지 확인하기 위해 타입 가드 함수를 적용했습니다.

왜 타입 가드 함수를 사용해야 하는가?

TypeScript는 정적 타입 지정과 동적인 자바스크립트 코드를 함께 사용할 수 있는 언어입니다. 그러므로 자바스크립트의 동적인 특성 때문에 코드에서 타입이 일치하지 않아 발생하는 오류를 사전에 방지하기 위해 타입 가드 함수를 사용하는 것이 중요합니다.

결론

타입 가드 함수를 사용하여 TypeScript에서 변수의 타입을 확인하고 조정하는 방법에 대해 살펴보았습니다. 타입 가드 함수를 통해 코드의 안정성을 높이고 유지보수성을 향상시킬 수 있으므로, 프로젝트에서 활용해보시기를 권장합니다.

더 많은 정보를 원하신다면 TypeScript 공식 문서 Type Guard를 참고하시기 바랍니다.