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 |