私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

JavaScript 第5版 3.8 未定義(undefined)値

未定義値とは、

    • 宣言されているけど、初期化されていない変数
    • 未定義のオブジェクトプロパティ

のこと。ちなみに、宣言されていない変数を参照したら実行時エラーが発生する。
下記、nullとの比較

alert(null == undefined);  // true
alert(undefined == null);  // true

alert(null === undefined); // false
alert(undefined === null); // false

alert(null === null);           // true
alert(undefined === undefined); // true

undefinedは予約語ではない。ECMAScript v3標準では、undefinedというグローバル変数があって、その値は初期化されていないので(宣言だけされている)、どこでもundefinedを利用できる。

コンテキスト 自動変換
理論値コンテキスト false
数値コンテキスト NaN
文字列コンテキスト 'undefined'