Infinity【無限大】定数
NaN【非数】定数
undefined【未定義】定数

Infinity【無限大】定数

メモ

var value1 = Infinity;
var value2 = -Infinity;
console.log(value1);            // 出力:Infinity
console.log(value2);            // 出力:-Infinity
console.log(isFinite(value1));  // 出力:false
console.log(isFinite(value2));  // 出力:false

NaN【非数】定数

メモ

var value = NaN;
console.log(value);                 // 出力:NaN

console.log(isFinite(NaN));         // 出力:false
console.log(NaN == NaN);            // 出力:false
console.log(NaN === NaN);           // 出力:false

console.log(isNaN(NaN));            // 出力:true
console.log(isNaN(undefined));      // 出力:true
console.log(isNaN( "NaN" ));        // 出力:true
console.log(NaN !== NaN);           // 出力:true
console.log(Number.isNaN(NaN));     // 出力:true
console.log(Number.isNaN( "NaN" )); // 出力:false

undefined【未定義】定数

メモ

  • 未定義 (変数の初期値)
  • 判定:
    • === 【同値 演算子】・!== 【非同値 演算子】
      (== 【等値 演算子】・!= 【非等値 演算子】ではnullとの区別が不可)
  • undefined を含む演算:演算子 参照

var value1;
var value2 = undefined;
console.log(value1);                  // 出力:undefined
console.log(value2);                  // 出力:undefined

console.log(undefined == null);       // 出力:true
console.log(undefined == undefined);  // 出力:true
console.log(undefined === null);      // 出力:false
console.log(undefined === undefined); // 出力:true

関連