[Javascript] null, undefined, NaN의 차이

profile
마릴린벅시
2023. 2. 12. 22:45개발

null, undefined, NaN은 자바스크립트에서 모두 falshy한 값으로 통용된다. 보통 코딩을 할 때 이 값이 falshy하냐 아니냐로 삼항 연산자나 논리연산자를 많이 사용한다. 그럼 이 세 값의 차이는 뭘까? 

null, undefined, NaN의 차이

null과 undefined는 자바스크립트에서 값이 없음을 의미하는 특수한 값이다. 

undefined는 변수가 선언되었지만 값이 할당되지 않은 경우에 대한 기본 값이다.

null은 개발자가 명시적으로 값이 없음을 의미하고자 할 때 사용한다.

NaN은 자바스크립트에서 숫자로 표현할 수 없는 값을 나타내는 특수 값이다. NaN은 숫자 연산에서 어떤 값을 잘못 처리하여 발생한다. 예를 들어, 문자열과 숫자를 계산하려 할 때 등이 있다. 

console.log('Hello world' - 10) // NaN

그 외에도 타입의 차이도 있다.

console.log(typeof undefined) // undefined
console.log(typeof null) // object
console.log(typeof NaN) // number

 

반응형