Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
23 of 264 menu
◀ ▶

isFinite関数

関数 isFinite は、パラメータが有限の数値であるか(つまり、文字列、配列などではなく、プラスまたはマイナスの無限大でもないか)をチェックします。

この関数の動作:数値がプラスまたはマイナスの無限大(つまり Infinity)または数値ではない(つまり NaN)場合、false を返し、それ以外の場合は true を返します。 つまり、文字列、配列などは NaN に変換され、したがって false を返します。

ただし、例外があります:空の文字列 '' は true を返し、空白文字列 '    ' も true を返します。null は true を返し、値 true と false に対しても true が返されます。

これは、これらの値が NaN ではなく数値に変換されるためです。 空白文字列、論理値、特殊な値を数値と見なさない、本当に正確な数値チェックが必要な場合は、次の関数 isNumeric を使用してください:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

この関数がどのように動作するかを見てみましょう。 関数 isFinite はパラメータを数値に変換し、それが Infinity、-Infinity、NaN でない場合に true を返します。 したがって、右側の部分は明らかに数値でないものを除外しますが、true、false、null、空の文字列 ''、空白文字列などの値は残ります。これらは正しく数値に変換されるためです。

これらの値を除外するには、関数 parseFloat が必要です。この関数は true、false、null、''、'   ' に対して NaN を返します。関数 parseFloat はこのように動作します:パラメータを文字列に変換します。つまり、true、false、null は 'true'、'false'、'null' になり、次にそこから数値を読み取ります。このとき、空の文字列と空白文字列は NaN になります。次に、parseFloat の結果は、!isNaN を使用して処理され、NaN の代わりに true または false が得られます。 結果として、数値文字列と通常の数値以外のすべてが除外されます。

構文

isFinite(値);

例

パラメータが数値であるため、ここで isFinite は true を出力します:

let num = 3; console.log(isFinite(num));

コード実行結果:

true

例

パラメータが数値でないため、ここで isFinite は false を出力します:

let num = 'abcde'; console.log(isFinite(num));

コード実行結果:

false

例

パラメータが無限大であるため、ここで isFinite は false を出力します:

let num = Infinity; console.log(isFinite(num));

コード実行結果:

false

例

1/0 は本質的に Infinity(無限大)であるため、ここで isFinite は false を出力します:

let num = 1 / 0; console.log(isFinite(num));

コード実行結果:

false

例

空の文字列は数値ではありませんが例外であるため、ここで isFinite は true を出力します:

let num = ''; console.log(isFinite(num));

コード実行結果:

true

関連項目

  • isNaN 関数、
    NaN をチェックします
  • typeof 演算子、
    データ型を決定します
← →
↑
日本語▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否