undefinedと、nullについてまとめてみました。
どういった場合にundefinedやnullとなるか
変数を宣言しても値をセットしない場合にundefinedになります。
変数にnullをセットした場合にnullになります。
例)undefinedとnullになるパターンサンプル
1 2 3 4 5 6 7 8 9 |
//変数に値をセットしない場合 var x; console.log(x); ⇒undefined //変数にnullをセットした場合 var y = null; console.log(y); ⇒null |
宣言をしないで参照しようとした場合は例外となります。
undefinedとnullの判定方法
値がundefinedやnullであるかどうかを判定するには、比較演算子「===」を使用します。
例)undefinedとnullの比較サンプル
1 2 3 4 5 6 7 8 9 |
//変数xがundefinedかどうか判定する var a = (x === undefined); console.log(a); ⇒true //変数yがnullかどうか判定する var b = (y === null); console.log(b); ⇒true |
厳密でない比較演算子「==」では正しく比較されません。
undefinedとnullのtypeof結果
undefinedのtypeof結果はundefined、nullのtypeof結果はobjectとなります。
例)undefinedとnullのtypeof結果
1 2 3 4 5 6 7 8 9 10 11 |
//undefinedのtypeof結果 var x; var c = (typeof x); console.log(c); ⇒undefined //nullのtypeof結果 var y = null; var d = (typeof y); console.log(d); ⇒object |
nullはnullではなく、objectなのでご注意ください。
まとめ
- 結果として以下のように考えると分かりやすいと思います。
undefined:変数の値が未定義である
null:変数の値が空である(空文字「''」ではない)