Typescript에 대한 메모 - 0

tyange·2023년 8월 22일

에러만 던질 때:

const throwError = (message: string): never => {
	throw new Error();
}

함수의 실행 과정에서 에러를 던지기 때문에, 함수의 마지막(그것이 throw new Error() 구문일지라도)까지 결코(never) 이를 수 없으므로 반환 값은 never가 된다.

특정 상황에서 에러를 던지지만, 다른 상황에서는 반환 값이 있을 때:

const throwError = (message: string): string => {
  if(!message) {
	throw new Error(); 
  }
  
  return message;
}

반환 값에 대한 타입으로 에러에 대한 타입을 지정하지 않아도 된다.

profile
아주 흐린 날의 기록

0개의 댓글