For the complete documentation index, see llms.txt. This page is also available as Markdown.

never 타입

설명

never일반적으로 함수의 리턴 타입으로 사용됩니다. 함수의 리턴 타입으로 never가 사용될 경우, 항상 오류를 출력하거나 리턴 값을 절대로 내보내지 않음을 의미합니다. 이는 무한 루프(loop)에 빠지는 것과 같습니다.

// 항상 오류 발생
function invalid(message:string): never {
  throw new Error(message);
}

// never 타입을 결과 추론(Inferred)
function fail() {
  return invalid('실패');
}

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

never 타입을 지정한 변수에 never가 아닌 타입은 할당할 수 없습니다.

let never_type:never;

// 오류 발생: 숫자 값을 never 타입 변수에 할당할 수 없습니다.
never_type = 99;

// 함수의 반환 값이 never 타입 이기 때문에 오류가 발생하지 않습니다.
never_type = (function():never { throw new Error('ERROR') })();

실습

참고

TypeScript - never 타입

TypeScript 공식 핸드북은 never 사용법에 대해 애매한 설명으로 일관합니다. 대신 TypeScript Deep Dive를 참고해 never 사용법을 정리하세요.

Never 타입

Last updated