JavaScript には、「何もない」を意味する 2 つの値undefined
とnull
. すべての変数のデフォルト値であるという理由undefined
よりも、はるかに強い「何もない」という意味があります。に設定されていない限り、null
変数は使用できませんが、変数はデフォルトで使用されます。null
null
undefined
var x;
console.log(x === undefined); // => true
var X = { foo: 'bar' };
console.log(X.baz); // => undefined
何かが であるかどうかを確認したい場合は、なぜならそれを と区別するのに十分ではないのでundefined
使用する必要があります。===
==
null
var x = null;
console.log(x == undefined); // => true
console.log(x === undefined); // => false
undefined
ただし、何かがまたは null
であるかどうかを知りたい場合があるため、これは便利ですif (value == null)
。
最後に、変数がスコープ内に存在するかどうかをテストしたい場合は、 を使用できますtypeof
。これは、古いブラウザには存在しない可能性のあるビルトイン ( JSON
.
if (typeof JSON == 'undefined') {
// Either no variable named JSON exists, or it exists and
// its value is undefined.
}