Number.isFinite()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

試してみましょう

console.log(Number.isFinite(1 / 0));
// Expected output: false

console.log(Number.isFinite(10 / 5));
// Expected output: true

console.log(Number.isFinite(0 / 0));
// Expected output: 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

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-number.isfinite

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
isFinite

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報