JavaScript에서는 `undefined`, `null`, `NaN` 세 가지 요소가 있습니다

이들은 각각 다른 의미를 가지고 있으며, 주로 값이 없거나 잘못된 상태를 나타냅니다

이제 각각의 차이점과 특징에 대해 알아보겠습니다

undefined

`undefined`는 변수가 선언되었지만 값이 할당되지 않은 경우를 나타냅니다

즉, 변수가 존재하지만 어떤 값도 가지고 있지 않습니다

var x;
console.log(x); // undefined

 

  • 변수의 초기값으로 자동 할당됩니다
  • 변수가 할당되지 않았거나, 객체 속성이 존재하지 않을 때 반환됩니다
  • `typeof undefined`의 결과는 `"undefined"`입니다

null

`null`은 명시적으로 "값이 없음"을 나타냅니다

따라서 `null`은 변수에 의도적으로 값이 없음을 할당하는 데 사용됩니다

var y = null;
console.log(y); // null

null == undefined // true
null === undefined // false

 

  • `null`은 자바스크립트의 객체로 간주되며, `typeof null`의 결과는 `"object"`입니다
  • 객체 속성의 초기값으로 사용할 수 있습니다
  • `null`은 `undefined`와 다릅니다

NaN

`NaN`은 "Not a Number"의 약어로, 숫자가 아닌 값을 나타냅니다

주로 수학적인 연산이 실패했을 때 반환됩니다

console.log(10 / "hello"); // NaN

NaN == NaN // false

 

  • 숫자와 문자열을 나누는 연산에서 발생할 수 있습니다
  • `typeof NaN`의 결과는 `"number"`입니다
  • `NaN`은 자신과의 동등 비교가 항상 `flase`입니다

'-- Language -- > JavaScript' 카테고리의 다른 글

[JavaScript] use strict 란?  (0) 2024.03.25
[JavaScript] 백틱(``)이란?  (0) 2024.03.22
[JavaScript] '=='와 '==='의 차이점  (1) 2024.01.03

+ Recent posts