[typescript] 타입 가드 함수를 활용한 유니온 타입의 자동 타입 가드

유니온 타입을 사용할 때 특정 타입의 속성을 체크하고 검증하기 위해서 타입 가드 함수를 사용할 수 있습니다. 타입스크립트에서는 유니온 타입을 사용하여 여러 타입을 하나의 타입으로 정의할 수 있습니다.

예를 들어, numberstring 타입을 갖는 변수를 다룰 때, 각 타입에 맞는 동작을 구현하기 위해 타입 가드 함수를 사용할 수 있습니다.

타입 가드 함수

타입 가드 함수는 parameterName is Type 형식을 가지는 타입 가드 식을 반환합니다. 이를 통해 유니온 타입의 변수를 보다 정확하게 검사할 수 있습니다.

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

function isNumber(value: number | string): value is number {
  return typeof value === 'number';
}

위 예제에서, isStringisNumber 함수는 각각 string 타입과 number 타입의 값을 검사합니다.

자동 타입 가드

타입스크립트는 유니온 타입 내의 각 타입에 따라 자동으로 타입 가드를 수행합니다. 예를 들어, 다음과 같은 코드가 있다고 가정해봅시다.

function processValue(value: number | string) {
  if (typeof value === 'string') {
    // value는 여기서 자동으로 string 타입으로 추론됨
    console.log(value.toUpperCase());
  } else {
    // value는 여기서 자동으로 number 타입으로 추론됨
    console.log(value.toFixed(2));
  }
}

위의 예제에서, processValue 함수 내에서 value의 타입에 따라 자동으로 타입 가드가 수행되어 해당 블록 내에서는 정확한 타입 추론이 가능합니다.

타입 가드 함수를 활용하여 유니온 타입을 보다 안전하게 처리할 수 있으며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

이러한 타입 가드 함수의 활용을 통해 코드를 보다 안정적으로 작성할 수 있습니다.