[typescript] 타입 가드와 유니온 타입

이번에는 TypeScript의 타입 가드와 유니온 타입에 대해 알아보겠습니다.

타입 가드

타입 가드(Type Guard)는 런타임 시점에서 특정 타입의 변수인지를 체크하고, 해당 결과를 기반으로 타입을 좁혀나가는 기능입니다. 이는 코드를 더욱 안전하고 가독성 있게 만들어주는 중요한 기능 중 하나입니다.

아래는 typeof를 이용한 간단한 타입 가드의 예시입니다.

function printLength(strOrArr: string | string[]) {
  if (typeof strOrArr === 'string') {
    console.log(strOrArr.length); // string
  } else {
    console.log(strOrArr.length); // string[]
  }
}

위 예시에서 typeof를 통해 런타임에 strOrArr의 타입을 체크하여, 해당하는 타입에 맞게 코드를 실행할 수 있습니다.

유니온 타입

유니온 타입(Union Type)은 |를 이용하여 두 개 이상의 타입을 허용하는 기능을 말합니다.

아래는 stringnumber를 모두 받을 수 있는 변수를 선언한 유니온 타입의 예시입니다.

let input: string | number;
input = "hello";
console.log(input.length); // string의 속성에 접근 가능
input = 123;
console.log(input.toPrecision(2)); // number의 속성에 접근 가능

마치며

타입 가드와 유니얼 타입은 TypeScript를 좀 더 유연하게 사용하고, 안전하게 데이터를 처리할 수 있는 강력한 기능입니다. 이를 활용하여 코드의 가독성을 높이고 오류를 방지하는데 도움을 얻을 수 있습니다.

키워드: 타입 가드, 유니온 타입, TypeScript

참고문헌: