Number.isFinite()

Number.isFinite() は静的メソッドで、渡された値が有限数であるかどうかを判断します。すなわち、指定された値が数値型であり、その数値が正の無限大 (Infinity)、負の無限大 (Infinity)、非数 (NaN) のどれでもないことをチェックします。

試してみましょう

構文

js
Number.isFinite(value)

引数

value

有限数かどうかテストされる値。

返値

与えられた値が有限数かどうかを示す論理値です。

isFinite() の使用

js
Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false

Number.isFinite(0); // true
Number.isFinite(2e64); // true

Number.isFinite() とグローバルの isFinite() との違い

グローバルの isFinite() 関数と比較すると、このメソッドは最初に引数を数値に変換しません。すなわち、数値型の値で、それが有限数でもある場合のみ true を返し、非数については常に false を返すということです。

js
isFinite("0"); // true; coerced to number 0
Number.isFinite("0"); // false
isFinite(null); // true; coerced to number 0
Number.isFinite(null); // false

仕様書

Specification
ECMAScript Language Specification
# sec-number.isfinite

ブラウザーの互換性

BCD tables only load in the browser

関連情報