このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
isFinite()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
グローバル関数isFinite() は渡された値が有限数かどうかを判定します。必要に応じて、引数はまず数値へと変換されます。isFinite() 関数は、値が有限数であるかどうかを判断します。必要に応じて、まず値を数値に変換します。有限数とは、NaN でも ±Infinity でもない数値です。isFinite() 関数内の強制変換は予想外の結果をもたらす可能性があるため、Number.isFinite() を使用することをお勧めします。
In this article
試してみましょう
function div(x) { if (isFinite(1000 / x)) { return "Number is NOT Infinity."; } return "Number is Infinity!";}console.log(div(0));// 予想される結果: "Number is Infinity!""console.log(div(1));// 予想される結果: "Number is NOT Infinity."構文
isFinite(value)引数
value検査を行う値。
返値
与えられた値が数値に変換した後にNaN、Infinity、-Infinity であった場合はfalse です。それ以外の場合はtrue です。
解説
isFinite() はグローバルオブジェクトの関数プロパティです。
isFinite() 関数の引数が数値型 でない場合、その値は最初に数値に変換され、その結果がNaN および ±Infinity と比較されます。これはisNaN の動作と同じくらい紛らわしいです。例えば、isFinite("1") はtrue になります。
Number.isFinite() は、値が有限数であるかどうかを検査する、より信頼性の高い方法です。これは、数値以外の入力に対してはfalse を返すからです。
例
>isFinite の使用
isFinite(Infinity); // falseisFinite(NaN); // falseisFinite(-Infinity); // falseisFinite(0); // trueisFinite(2e64); // trueisFinite(910); // true// より堅牢な Number.isFinite() を使用すると、異なる結果になります。isFinite(null); // trueisFinite("0"); // true仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-isfinite-number> |