null

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

試してみましょう

function getVowels(str) {
  const m = str.match(/[aeiou]/gi);
  if (m === null) {
    return 0;
  }
  return m.length;
}

console.log(getVowels("sky"));
// Expected output: 0

構文

js
null;

解説

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

js
// foo が存在せず、定義も初期化もされていない場合:
foo; //ReferenceError: foo is not defined
js
// foo が存在しているが、型も値も持たない場合:
var foo = null;
foo; //null

nullundefined の違い

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

js
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

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-null-value

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
null

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報