TIR: 타입스크립트 프로그래밍 | 타입의 모든것 (3) null, undefined, void, never - 220906

Lumpen·2022년 9월 6일
0

TIR

목록 보기
33/40

값의 부재에 대한 표현

타입스크립트에서는 값의 부재를 표현하기 위해
자바스크립트에서의 null과 undefined,
추가로 void와 never 타입을 지원한다

null과 undefined는 각각 값 자체가 타입이 되는 특별한 타입이다
void와 never는 조금 더 정밀한 부재에 대한 표현이다
둘 다 함수의 반환 값에 대한 표현

  • undefined: 값이 정의되지 않았음
  • null: 값이 없음
  • void: 함수의 명시적인 반환 값이 정의되지 않을 때의 반환 타입 ( 명시적인 반환 값이 없는 함수의 반환된 값은 undefined 겠지만 return undefined 와는 다르다)
  • never: 절대 반환하지 않는 (예외를 던지거나 무한루프인) 함수의 반환 타입

엄격한 null 확인

구 버전의 타입스크립트에서 strictNullChecks 옵션을 false로 지정할 경우 null은 never를 제외한 모든 타입의 하위 타입이 된다
모든 타입은 null이 될 수 있으므로 모든 값이 null인지 먼저 확인해줘야 했다
예상치 않은 상황에서 null이 발생할 경우 치명적인 null 포인터 에러가 발생한다

null을 발명한 사람은 null을 수억달러 짜리 실수 라고 부른다
많은 언어가 각자의 타입 시스템에서 null 문제를 해결하기 위해 노력한다
타입스크립트는 이를 올바르게 처리하는 좋은 예를 보여준다
컴파일 타임에 가능한 많은 버그를 검출하는 것

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글