[typescript] typeof 연산자를 이용한 타입 가드 함수 작성 방법

TypeScript에서 typeof 연산자는 변수의 타입을 검사할 수 있는 유용한 기능입니다. 이를 활용하여 타입 가드 함수를 작성하여 변수의 타입을 보다 정확하게 추론할 수 있습니다.

타입 가드 함수란 무엇인가요?

타입 가드 함수는 입력 값의 타입을 검사하고 해당 값의 타입을 좀 더 구체적으로 추론할 수 있도록 도와주는 함수입니다. 이를 통해 코드의 안정성을 높일 수 있고, 타입 추론의 정확도를 높일 수 있습니다.

typeof 연산자를 이용한 타입 가드 함수 작성

다음은 typeof 연산자를 사용하여 문자열 또는 숫자 타입인지를 검사하는 간단한 타입 가드 함수의 예시입니다.

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

위의 예시에서 value is string | number는 해당 조건이 true일 때 value의 타입을 string 또는 number로 추론할 수 있도록 도와줍니다.

타입 가드 함수 활용

이제 작성된 타입 가드 함수를 활용하여 코드에서 타입 추론을 더 정확하게 할 수 있습니다.

function processValue(value: string | number) {
  if (isStringOrNumber(value)) {
    // 여기에서 value는 string 또는 number 타입으로 추론됩니다.
    console.log(value.length); // string 타입에서는 length를 사용할 수 있습니다.
    console.log(value.toFixed(2)); // number 타입에서는 toFixed 메서드를 사용할 수 있습니다.
  }
}

위의 예시에서, processValue 함수는 string 또는 number 타입의 값을 입력받고, isStringOrNumber 함수를 사용하여 해당 값의 타입을 검사하여 안전하게 사용할 수 있습니다.

마무리

이렇게 typeof 연산자를 활용하여 타입 가드 함수를 작성하여 코드의 안정성을 높일 수 있습니다. 이는 TypeScript의 강력한 기능 중 하나로, 코드를 더욱 안정적이고 유지보수하기 쉽게 만들어줍니다.

더 자세한 정보를 원하시거나 관련하여 궁금한 점이 있으시다면, TypeScript 공식 문서를 참고하시기 바랍니다.

References