null과 undefined

차분한열정·2021년 7월 4일
0

타입스크립트 정리

목록 보기
10/15

JS에는 다음과 같은 미묘한 값들이 있다.

  • null(absence)
  • undefined(uninitialized)

타입스크립트에서는 같은 이름을 가진 2개의 타입이 있는데 이 점을 잘 기억해야 한다.

이때 이 타입들에 관한 컴파일 옵션으로 strictNullChecks라는 옵션이 있다.

이 옵션이 꺼있으면 null이나 undefined에 무제한적으로 접근할 수 있고 어느 타입의 프로프티의 값으로도 설정될 수 있다. 하지만 이것은 많은 버그의 원인이 되기 때문에 이 옵션을 켜는 게 좋은데

이 옵션을 켜면 특정 객체의 프로퍼티나 메소드에 접근하기 전에 그것이 null이나 undefined는 아닌지 점검해야 한다. (narrowing)

이런 식으로 말이다. 만약 이런 확인 코드를 넣고 싶지 않고, 해당 값이 null이나 undefined이 아닌 것에 대한 확신이 있다면 !(Non-null Assertion Operator)를 붙여서

이런 식으로 나타낼 수도 있다. 물론 이것이 코드의 실행 흐름을 바꾸는 것은 아니기 때문에 정말 확신이 있을 때만 사용해야 한다.

profile
성장의 기쁨

0개의 댓글