null

null은 JavaScript의 원시값 중 하나로, 어떤 값이 의도적으로 비어있음을 표현합니다.

설명

null은 리터럴로서,null로 작성할 수 있습니다. nullundefined와 같은 전역 객체의 식별자가 아닙니다. 대신 식별되지 않은 상태를 나타내며 해당 변수가 어떠한 객체도 가리키고 있지 않음을 표시합니다. API에서 null은 보통 반환값이 기대되지만 일치하는 값이 없을 때 대신 사용됩니다.

// 정의되지 않고 초기화된 적도 없는 foo
> foo;
"ReferenceError: foo is not defined"

// 존재하지만 값이나 자료형이 존재하지 않는 foo
> var foo = null;
foo;
"null"

nullundefined의 차이

null 또는 undefined를 검사할 때, 동등 연산자(==)와 일치 연산자(===)의 차이를 주의하세요. 동등 연산자는 자료형 변환을 수행합니다.

typeof null          // "object" (하위호환 유지를 위해 "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

명세

명세 상태 설명
ECMAScript 1st Edition (ECMA-262) Standard 초기 정의.
ECMAScript 5.1 (ECMA-262)
The definition of 'null value' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'null value' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'null value' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
nullChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes

Legend

Full support  
Full support

같이 보기