← 返回首页
isFinite() - JavaScript | MDN

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

View in English Always switch to English

isFinite()

Baseline 広く利用可能

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

グローバル関数 isFinite() は渡された値が有限数かどうかを判定します。必要に応じて、引数はまず数値へと変換されます。 isFinite() 関数は、値が有限数であるかどうかを判断します。必要に応じて、まず値を数値に変換します。有限数とは、NaN でも ±Infinity でもない数値です。 isFinite() 関数内の強制変換は予想外の結果をもたらす可能性があるため、Number.isFinite() を使用することをお勧めします。

目次

試してみましょう

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."

構文

js
isFinite(value)

引数

value

検査を行う値。

返値

与えられた値が数値に変換した後に NaNInfinity、-Infinity であった場合は false です。それ以外の場合は true です。

解説

isFinite() はグローバルオブジェクトの関数プロパティです。

isFinite() 関数の引数が数値型 でない場合、その値は最初に数値に変換され、その結果が NaN および ±Infinity と比較されます。これは isNaN の動作と同じくらい紛らわしいです。例えば、isFinite("1") は true になります。

Number.isFinite() は、値が有限数であるかどうかを検査する、より信頼性の高い方法です。これは、数値以外の入力に対しては false を返すからです。

isFinite の使用

js
isFinite(Infinity); // false isFinite(NaN); // false isFinite(-Infinity); // false isFinite(0); // true isFinite(2e64); // true isFinite(910); // true // より堅牢な Number.isFinite() を使用すると、異なる結果になります。 isFinite(null); // true isFinite("0"); // true

仕様書

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

ブラウザーの互換性

ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。

関連情報