never 타입이 무엇인가요?

0

기술면접 - TS

목록 보기
7/18

never 타입이 무엇인가요?

never 타입의 개념

TypeScript에서 never는 함수의 반환 타입으로 사용되는 특별한 타입입니다. never 타입은 절대로 발생하지 않는 값의 타입을 나타냅니다. 즉, 함수가 항상 예외를 던지거나 무한 루프에 빠지는 경우와 같이 실행이 끝나지 않는 상황에서 사용됩니다.

never 타입의 사용 예시

never 타입은 주로 타입 가드(type guard)나 함수의 반환 타입으로 사용됩니다. 예를 들어, 아래의 throwError 함수는 항상 예외를 던지므로 반환 타입으로 never를 사용할 수 있습니다:

function throwError(message: string): never {
  throw new Error(message);
}

never 타입은 다른 모든 타입의 서브타입(subtype)이기 때문에 never를 반환하는 함수는 어떤 타입의 변수에도 할당될 수 있습니다. 예를 들어, 아래의 unreachable 함수는 절대로 실행되지 않기 때문에 반환 타입으로 never를 사용할 수 있습니다:

function unreachable(): never {
  while (true) {
    // 무한 루프
  }
}

never 타입은 코드의 흐름 분석을 개선하고 예외 처리나 무한 루프와 같은 예외적인 상황을 명시적으로 표현하는 데 유용합니다. 컴파일러는 never 타입을 보면 해당 코드가 실행되는 지점에서의 흐름을 중단시켜야 함을 알 수 있습니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글