undefined
undefined 는 변수를 선언은 하였지만, 값을 할당하지 않을 경우의 상태를 나타낸다.(변수의 초기값인 셈)
const word
console.log(word) // undefined
원시 자료형에서의 undefined
Boolean(undefined) // false
Number(undefined) // NaN
String(undefined) // 'undefined'
typeof(undefined) // 'undefined'
null
null 은 명시적으로 값이 비어있는 상태를 나타낼 때 사용된다.
const word = null
console.log(word) // null
원시 자료형에서의 null
Boolean(null) // false
Number(null) // 0
String(null) // 'null'
typeof(null) // 'object'
undefined 와 null의 차이는?
undefined
변수의 값이 등록 되어있지 않기 때문에 초기값으로 자동 정의된 것이다.
null
값은 값이지만 값으로써 의미없는 특정한 값이 등록되어 있는 것이다.
undefined 는 미리 선언된 전역변수(전역 객체의 프로퍼티)
null 은 선언, 등록을 하는 키워드인 것이다.(의도적으로 개발자가 저장한것)
NaN
NaN의 뜻은 not a number의 함축한 것이다.
즉, 숫자가 아닌 다른 원시형으로 해석하여 출력된 값이다.
function sanitise(x) {
if (isNaN(x)) { // isNaN은 NaN인지 판별하는 메서드
return NaN;
}
return x;
}
console.log(sanitise('1')); // 1
console.log(sanitise('NotANumber')); // NaN
원시 자료형에서의 NaN
Boolean(NaN) // false
Number(NaN) // NaN
String(NaN) // 'NaN'
typeof(NaN) // 'number'
출저 : undefined, null, NaN의 차이 (velog.io)
undefined, null, NaN의 차이
undefined, null, NaN 각각의 원시형 분석
velog.io
'Javascript' 카테고리의 다른 글
Array.prototype method (0) | 2022.01.15 |
---|---|
표현식과 연산자 (0) | 2022.01.15 |
원시타입(primitive type)과 참조타입(reference type) (0) | 2022.01.15 |
자바스크립트 동작원리 비동기처리 part2 (0) | 2022.01.15 |
자바스크립트 동작원리 , 비동기처리 part1 (0) | 2022.01.15 |