typescript

typescript의 never타입이란.(짧)

jdy8739 2022. 1. 18. 21:44

never타입은 타입스크립트에서 뭔가 이상하게 설계된

 

함수의 return 타입

 

또는 절대 닿을 수 없는(unreachable)한 코드 변수의 타입이다.

 

함수의 경우 정상적으로 함수가 끝나지않거나

 

함수의 내부 반복문 조건식이 영원히 true 이어서

 

함수 종료가 불가능한 경우 return이 자동적으로 never로 지정된다.

 

 

특히 컴퓨터는 함수 내부에서 throw new Error( ) 코드를 만나면

 

함수 내부에 에러가있다고 판단하고 함수를 강제로 종료시키는데,

 

함수 몸통 코드가 전부 실행되거나 return을 만나서 함수가 종료되는게 아닌

 

저런 비정상적인 방법으로 강제 종료될 경우

 

함수가 표현식으로 작성됐을 때 return 타입은 never로 지정된다.

 

 

 

개발자가 타입을 never로 지정해줄 경우는 거의 없지만

 

저런 코드가 잘못 짜여진 상황에서 출몰하는 타입임을 인지하고

 

잘 대처할 수 있게 기억해두자.