치춘짱베리굿나이스

null, NaN, undefined 차이 본문

Javascript + Typescript/이론과 문법

null, NaN, undefined 차이

치춘 2022. 3. 25. 23:33

undefined

Boolean(undefined) //false
Number(undefined) //NaN
String(undefined) //"undefined"

선언은 되었지만 값이 할당되지 않은 상태 ⇒ 초기화하지 않은 변수

  • Boolean 문맥에선 false 반환
  • Number 문맥에선 NaN 반환

null

Boolean(null) //false
Number(null) //0
String(null) //"Number"

아무런 값도 나타나지 않음

값 자체가 없다는 뜻 (undefined) 이 아니라 값은 존재하지만 어떠한 유효한 값도 아니라는 뜻

  • Boolean 문맥에선 false 반환
  • Number 문맥에선 0 반환

NaN

Boolean(NaN) //false
Number(NaN) //NaN
String(NaN) //NaN
(NaN === NaN) //false
isNaN(NaN) //true

‘숫자가 아니다' 를 의미 (Not a Number)

  • undefinedNumber로 형변환 하면 값이 없으므로 NaN으로 변환됨
  • nullNumber로 형변환 하면 0으로 변환됨

'Javascript + Typescript > 이론과 문법' 카테고리의 다른 글

Throttle & Debounce  (0) 2022.05.18
비동기 처리와 Promise  (0) 2022.05.13
[Typescript] Type vs Interface  (0) 2022.05.09
spread, rest  (0) 2022.04.12
비구조화 할당 (구조분해 할당)  (0) 2022.04.12
Comments