isFinite【有限数 判定】
isInteger【整数 判定】
isNaN【非数 判定】
isSafeInteger【正確な整数値 判定】

Number.isFinite【有限数 判定】

メモ

構文

Number.isFinite( number ) 

 判定結果 (詳細は下記参照)
true:有限数
false:その他
number 判定値
number戻り値(参考) グローバルのisFinite
number戻り値
数値以外falseundefined → NaNfalse
null → 0true (有限数)
(数値変換可) → 数値true (有限数)
(数値変換不可) → NaNfalse
NaN
+∞
-∞
falseNaN
+∞
-∞
false
その他true (有限数)その他true (有限数)

console.log(Number.isFinite("abc"));      // 出力:false
console.log(Number.isFinite(NaN));        // 出力:false
console.log(Number.isFinite(+Infinity));  // 出力:false
console.log(Number.isFinite(-Infinity));  // 出力:false

console.log(Number.isFinite(123));        // 出力:true

var num = null;
console.log(Number.isFinite(num));        // 出力:false
console.log(isFinite(num));               // 出力:true
num = "123";
console.log(Number.isFinite(num));        // 出力:false
console.log(isFinite(num));               // 出力:true

Number.isInteger【整数 判定】

メモ

構文

Number.isInteger( number ) 

 判定結果 (詳細は下記参照)
true:整数
false:整数以外
number 判定値
number戻り値
数値以外false
NaN
+∞
-∞
false
整数変換した値 ≠ 元の値false
その他true (整数)

console.log(Number.isInteger("123"));     // 出力:false
console.log(Number.isInteger(NaN));       // 出力:false
console.log(Number.isInteger(+Infinity)); // 出力:false
console.log(Number.isInteger(-Infinity)); // 出力:false
console.log(Number.isInteger(123.4));     // 出力:false

console.log(Number.isInteger(123.000));   // 出力:true
console.log(Number.isInteger(123));       // 出力:true

Number.isNaN【非数 判定】

メモ

構文

Number.isNaN( number ) 

 判定結果 (詳細は下記参照)
true:非数
false:その他 
number 判定値
number戻り値(参考) グローバルのisNaN
number戻り値
数値以外falseundefined → NaNtrue (非数)
null → 0false
(数値変換可) → 数値false
(数値変換不可) → NaNtrue (非数)
NaNtrue (非数)NaNtrue (非数)
その他falseその他false

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

console.log(Number.isNaN("abc")); // 出力:false
console.log(Number.isNaN(NaN));   // 出力:true
console.log(Number.isNaN(123));   // 出力:false

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

Number.isSafeInteger【正確な整数値 判定】

メモ

構文

Number.isSafeInteger( number ) 

 判定結果 (詳細は下記参照)
true:正確な整数値
false:その他
number 判定値
number戻り値
数値以外false
NaN
+∞
-∞
false
整数変換した値 ≠ 元の値false
絶対値 ≦ 253-1true (正確な整数値)
その他false

console.log(Number.isSafeInteger("123"));
console.log(Number.isSafeInteger(NaN));
console.log(Number.isSafeInteger(+Infinity));
console.log(Number.isSafeInteger(-Infinity));
console.log(Number.isSafeInteger(123.45));
console.log(Number.isSafeInteger(-Math.pow(2, 53)));
console.log(Number.isSafeInteger(+Math.pow(2, 53)));
console.log(Number.isSafeInteger(Number.MIN_SAFE_INTEGER - 1));
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1));
// 出力:全て false

console.log(Number.isSafeInteger(-(Math.pow(2, 53) - 1)));
console.log(Number.isSafeInteger(Math.pow(2, 53) - 1));
console.log(Number.isSafeInteger(Number.MIN_SAFE_INTEGER));
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER));
console.log(Number.isSafeInteger(123.00));
console.log(Number.isSafeInteger(123));
// 出力:全て true