--- title: 'null' slug: Web/JavaScript/Reference/Global_Objects/null tags: - JavaScript - Language feature - Literal - Primitive translation_of: Web/JavaScript/Reference/Global_Objects/null ---
null
という値は、意図的にオブジェクトの値が存在しないことを表します。これは JavaScript のプリミティブ値の 1 つであり、ブール演算では falsy として扱われます。
null
null
値は null
というリテラルです。{{jsxref("Global_Objects/undefined","undefined")}} のようなグローバルオブジェクトのプロパティではありません。代わりに、 null
は識別の欠如を表し、変数がオブジェクトを指してないことを示します。API においては、通常はオブジェクトが返されるところで、関連したオブジェクトがない場合に null
がよく渡されます。
// foo が存在せず、定義も初期化もされていない場合: foo; //ReferenceError: foo is not defined
// foo が存在しているが、型も値も持たない場合: var foo = null; foo; //null
null
と undefined
の違い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
仕様書 |
---|
{{SpecName('ESDraft', '#sec-null-value', 'null value')}} |
{{Compat("javascript.builtins.null")}}
{{jsxref("Operators/void", "void operator")}}