isFinite関数
【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム
OS:Win11(64ビット)
VSCode1.72.2、
クロム
【isFinite関数の使い方】
グローバル関数のひとつである isFinite 関数は、対象の値が有限の値か無限の値か調べて、有限の値の場合には true を返します。
・書式
isFinite(値)
・書式
isFinite(値)
引数に指定した値が有限の値かどうかを調べます。
値が NaN 、正の無限大( Infinity )、負の無限大( -Infinity )であれば false 、それ以外は true を返します。値が数値型ではない場合はまず数値型に変換されたあとで調べます。
サンプル
isFinite(Infinity); >> false isFinite(-Infinity); >> false isFinite(NaN); >> false
無限大ではない数値は有限数です。
isFinite(16); >> true isFinite(0); >> true isFinite(-6.4); >> true
文字列は false となりますが、数値のみで構成される文字列と空文字については数値に変換したときに数値となるため true となります。
・サンプル
isFinite('Hello'); // 数値に変換すると NaN >> false isFinite('78'); // 数値に変換すると 78 >> true isFinite(''); // 数値に変換すると 0 >> true
true は数値に変換すると 1 、 false は数値に変換すると 0 、 null は数値に変換すると 0 となるため true となります。 undefined は数値に変換すると NaN となるため false となります。
isFinite(true); // 数値に変換すると 1 >> true isFinite(null); // 数値に変換すると 0 >> true isFinite(undefined); // 数値に変換すると NaN >> false
値がオブジェクト型の場合はそれぞれ異なります。
isFinite([10]); // 数値に変換すると 10 >> true isFinite([10, 20]); // 数値に変換すると NaN >> false isFinite([]); // 数値に変換すると 0 >> true isFinite({a:'10'}); // 数値に変換すると NaN >> false
グローバル関数の isFinite では、対象の値を数値に変換したあとで有限か無限かを判定している点に注意!