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

Number.isFinite【有限数 判定】

メモ

構文

Number.isFinite ( number )

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

  • true:有限数
  • false:その他

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 )

  • number:判定値
    number戻り値
    数値以外false
    NaN
    +∞
    -∞
    false
    整数変換した値 ≠ 元の値false
    その他true (整数)

  • true:整数
  • false:整数以外

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 )

  • number:判定値
    number戻り値(参考) グローバルのisNaN
    number戻り値
    数値以外falseundefined → NaNtrue (非数)
    null → 0false
    (数値変換可) → 数値false
    (数値変換不可) → NaNtrue (非数)
    NaNtrue (非数)NaNtrue (非数)
    その他falseその他false

  • true:非数
  • 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 )

  • number:判定値
    number戻り値
    数値以外false
    NaN
    +∞
    -∞
    false
    整数変換した値 ≠ 元の値false
    絶対値 ≦ 253-1true (正確な整数値)
    その他false

  • true:正確な整数値
  • 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

関連