[typescript] 타입 가드란?

타입 가드는 TypeScript에서 변수가 어떤 타입인지 확인하는 것을 말합니다. 이를 통해 런타임 중에 타입을 일치시키고, 코드를 보다 안전하게 만들 수 있습니다.

타입 가드의 필요성

TypeScript는 정적 타입 언어이지만, 가끔은 런타임 시에도 타입을 확인해야 하는 상황이 발생할 수 있습니다. 예를 들어, 다양한 유형의 변수를 다루는 함수를 작성할 때, 런타임 시에 해당 변수의 타입을 체크하여 다른 동작을 수행해야 할 때가 있습니다. 이런 경우에 타입 가드를 사용하면 코드를 보다 안전하게 만들 수 있습니다.

타입 가드의 예시

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

function printNumberOrError(value: any) {
  if (isNumber(value)) {
    console.log(value);
  } else {
    console.error('Error: The value is not a number');
  }
}

위 예시에서 isNumber 함수는 주어진 값이 숫자인지를 확인하는 타입 가드입니다. value is number 구문은 해당 함수가 숫자 타입을 반환한다는 것을 의미합니다. 이를 통해 printNumberOrError 함수 내에서 해당 값의 타입을 체크하고, 안전하게 숫자를 출력하거나 오류를 처리할 수 있습니다.

결론

타입 가드를 사용하면 JavaScript의 동적 타입 언어에서 발생할 수 있는 타입 관련 문제를 해결할 수 있습니다. 이를 통해 TypeScript 코드의 안정성과 가독성을 높일 수 있습니다.

참고 자료