JavaScript null と undefined
-
JavaScript の
null -
JavaScript の
undefined -
なぜ人々は
nullとundefinedを JavaScript で同じであると混同するのですか -
JavaScript の
nullとundefinedの違い
JavaScript は強力な言語ですが、さまざまなデータ型を使用すると、特に初心者にとっては混乱を招く可能性があります。null と undefined のデータ型は何も表していないように見えますが、違います。
これらを区別し、実行時のバグを回避するためにどちらをいつ使用するかを知る必要があります。
この記事では、null と undefined およびそれらの違いについて説明します。
JavaScript の null
null は JavaScript のオブジェクトです。意味がない場合は、JavaScript のバグであるため、問題ありません。これはプリミティブデータ型の 1つであると想定されていますが、この変更を行うと、多くの既存のコードベースが破損します。
これはユーザーが割り当てた値です。JavaScript は、変数にそれ自体で null の値を与えることはありません。これは、空白のままになっている変数に割り当てられた値です。空の値と呼ぶことができます。
JavaScript の undefined
undefined は状態です。変数を宣言したが、値で初期化しない場合、それは undefined と呼ばれます。これは、JavaScript が変数を初期化するために使用するデフォルト値です。空の値でもあります。
なぜ人々は null と undefined を JavaScript で同じであると混同するのですか
null と undefined は、次の点で同じです。
- どちらもプリミティブデータ型です。
- 等式演算子
==を使用してそれらを比較すると、true が返されます。
null == undefined; // returns true
JavaScript は両方を空の値と見なします。
undefinedとnullはどちらも、式で使用するとfalseを生成します。
!!undefined; // false
!!null; // false
JavaScript の null と undefined の違い
- タイプの違い
console.log(typeof (null)); // object
console.log(typeof (undefined)); // undefined
上記の例では、typeof 演算子を使用してデータ型を確認しています。null データ型を object として返し、undefined データ型を undefined として返します。等式演算子 == は true を返しますが、恒等演算子 === は値が等しいがデータ型が異なるため、false を返します。
- 算術演算
null は、算術演算を実行するときに値のない数値のように動作します。操作を実行すると、null が 0 であるかのように結果が得られます。
console.log(4 + null); // 4
console.log(4 * null); // 0
console.log(4 - null); // 4
console.log(4 / null); // Infinity
算術演算では 0 として扱われる場合がありますが、null の値は 0 ではないことに注意してください。
一方、undefined は、算術演算で使用される場合、is Not a Number を返します。
console.log(4 + undefined); // NaN
console.log(4 * undefined); // NaN
console.log(4 - undefined); // NaN
console.log(4 / undefined); // NaN
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn