NaNの真実

未定義値の変数を計算、出力しようとすると、NaN(Not a Number)がでます。

typeof NaN === 'Number'   //true (NaNはNumberオブジェクト)
NaN === NaN            //false (NaNは自分自身ではない?)
 NaN ===!NaN          //true (NaNはNaNではないが正解?)
var arg;
var arm = function() {
    arg += 6;
  return arg;
}
alert(arm());

未定義値を代入、参照すると

var arg;
var arm = function() {
    arg += 6;
  return arg;
}
alert(arg);

未定義値(グローバル変数の参照)は、