nullとundefined
構文の説明
//JavaScriptでは let を使って変数を定義できます。 //値を代入せずに宣言した場合、その変数の値は undefined(未定義) になります。 //値が定義された状態 let a = 10; console.log(a); //出力結果 10 //値が定義されていない状態 let b; console.log(b); //出力結果 undefined //また、値が「何もない」ことを意図して表したい場合は null を使います。 let c = null; console.log(c); //出力結果 null
nullとundefined
| リテラル | 型 | 意味 |
|---|---|---|
| undefined | undefined | 未定義 |
| null | object | (意図的な)空 |
例題
次のコードをコンソールでどのように表示されるか確認してみましょう。
let a; console.log(a); let b = null; console.log(b);
undefined
null
console.log(typeof リテラル);でそのリテラルの型が確認できます。
let a; console.log(typeof a); //出力結果 undefined let b = null; console.log(typeof b); //出力結果 object
問題
次のコードをコンソールでどのように表示されるか確認してみましょう。
let a; console.log(a);
undefined
let b = null; console.log(b);
null
let c = ""; console.log(c);
""
''や""は「何も書いていない」ように見えますが文字列(空文字) です。値がないわけではありません。
let d = "null"; console.log(typeof d,d);
string null
問3と同じようにnullを''や""で囲むと「null」という文字が入った文字列になります。
console.log(e);
Uncaught ReferenceError
この問題の e は、変数そのものが存在していないため、Uncaught ReferenceError(「その名前の変数は見つかりません」というエラー)となります。
let e; console.log(e); //出力結果 undefined; console.log(ee); //Uncaught ReferenceError //undefined:変数はあるが、値がまだ入っていない //Uncaught ReferenceError:変数そのものが存在しない
