JavaScriptにおけるundefinedは、値が割り当てられていない変数を示す特殊なデータ型です。undefinedとは、変数が宣言されているもののまだ値が与えられていない状態を表します。また、関数が値を返さない場合においてもundefinedが戻り値となります。
undefinedの例
ここからはundefinedがどのような場合に返ってくるのかを見てみましょう。
変数の宣言のみが行われた場合:
let a;
console.log(a); // undefinedここではaが宣言されていますが、値が割り当てられていないため、undefinedが出力されます。
オブジェクトの存在しないプロパティにアクセスした場合:
const obj = { name: "Alice" };
console.log(obj.age); // undefinedobjオブジェクトにはageプロパティが存在しないため、undefinedが返されます。
関数が値を返さない場合:
function test() {}
console.log(test()); // undefinedtest関数は何も返さないため、その戻り値はundefinedになります。
nullとundefinedの違い
undefinedとよく比較されるnullもJavaScriptには存在しますが、nullは「何もない」状態を意図的に表現するために使われます。一方、undefinedは変数に値がまだ割り当てられていないことを示すために自動的に設定されます。
JavaScriptでのnullとundefinedは似て非なるものです。以下にその違いを説明します。
1. 意味の違い
undefined: 変数が宣言されたが、まだ値が割り当てられていない状態を指します。この場合は自動的に設定されます。null: プログラマが意図的にに「値がない」ことを表すために設定する値です。
2. 型の違い
undefinedは自身の型を持っています(undefined)。nullはオブジェクト型として扱われます。
3. 比較と演算
nullとundefinedは==(等価演算子)で比較すると等しいとみなされますが、===(厳密等価演算子)を使うと異なるとみなされます。
console.log(null == undefined); // true
console.log(null === undefined); // falseもし、
「プログラミングを体系的に学びたい」
「エンジニア転職を頑張りたい」
「独学に限界を感じてきた...」
「コミュニティで仲間と共に学びたい」
などと感じられたら、ぜひ検討してみてください。
まずは様子見...という方は、公式LINEにぜひご登録下さい。
学習や転職ノウハウに関する豪華特典11個を無料配布しています!
LINE紹介ページで特典を確認する


