--- title: 'null' slug: Web/JavaScript/Reference/Global_Objects/null tags: - JavaScript - Language feature - Literal - Primitive translation_of: Web/JavaScript/Reference/Global_Objects/null ---
{{jsSidebar("Objects")}}

null という値は、意図的にオブジェクトの値が存在しないことを表します。これは JavaScript のプリミティブ値の 1 つであり、ブール演算では falsy として扱われます。

{{EmbedInteractiveExample("pages/js/globalprops-null.html")}}

構文

null

説明

null 値は null というリテラルです。{{jsxref("Global_Objects/undefined","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

仕様

仕様書
{{SpecName('ESDraft', '#sec-null-value', 'null value')}}

ブラウザー実装状況

{{Compat("javascript.builtins.null")}}

関連情報