null という値は、オブジェクトの値が存在しないことを表します。これは JavaScript におけるプリミティブ値の一つです。

構文

null

説明

null 値は null というリテラルです。undefined のようなグローバルオブジェクトのプロパティではありません。代わりに、 null は識別の欠如を表し、変数がオブジェクトを指してないことを示します。API においては、通常はオブジェクトが返されるところで、関連したオブジェクトがない場合に null がよく渡されます。

// foo が存在せず、定義も初期化もされていない場合:
foo;
"ReferenceError: foo is not defined"

// foo が存在しているが、型も値も持たない場合:
var foo = null;
foo;
"null"

nullundefined の違い

nullundefined をチェックする際は、等価 (==) と 厳密等価 (===) 演算子の違い に注意してください(前者では型変換が行われます)。

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) 標準 初期定義。
ECMAScript 5.1 (ECMA-262)
null value の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
null value の定義
標準  
ECMAScript Latest Draft (ECMA-262)
null value の定義
ドラフト  

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連項目

ドキュメントのタグと貢献者

このページの貢献者: segayuu, TakashiHarano, x2357, teoli, chikoski
最終更新者: segayuu,