/ JAVASCRIPT

null과 undefined의 차이 간단정리

JavaScript 관련 글입니다.




이번 글에서는 null과 undefined의 차이에 대해서 간단히 알아보겠습니다. 언뜻봐서는 비슷해보일 수 있지만 명확한 차이가 있습니다.

null vs undefined


null은 어떤 값이 명시적으로 비어져있음을 의미합니다.
반면 undefined는 변수가 선언이 되었지만 값이 할당되지 않은 경우를 의미합니다. 선언만 하고 값을 할당하지 않거나, return값이 없는 함수, 선언되지 않은 객체의 속성의 경우 undefined를 반환합니다.

주의할만한 것들

typeof null          // "object" => 사실 null의 타입은 null이 맞다. 초기버전의 버그이다.
typeof undefined     // "undefined"
null === undefined   // false
null == undefined   // true
null === null        // true
null == null         // true
!null                // true
isNaN(1 + null)      // false
isNaN(1 + undefined) // true



End.