このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Number.isFinite()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年9月以降、すべてのブラウザーで利用可能です。

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

試してみましょう

console.log(Number.isFinite(1 / 0));
// 予想される結果: false

console.log(Number.isFinite(10 / 5));
// 予想される結果: true

console.log(Number.isFinite(0 / 0));
// 予想される結果: false

構文

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

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-number.isfinite

ブラウザーの互換性

関連情報