JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのNumber.isFinite()関数とは?使い方とサンプルコードを解説

JavaScriptのNumber.isFinite()は、Numberオブジェクトが提供する静的メソッドの一つです。引数として渡された値が有限数(finite number)であるかどうかを判定し、有限数であればtrueを、そうでなければfalseを返します。

このメソッドは、Infinity(無限大)やNaN(非数)をチェックする際に特に役立ちます。なお、グローバル関数のisFinite()とは異なり、Number.isFinite()は引数を数値へ変換しないため、文字列など数値以外の値を渡すと常にfalseが返される点に注意しましょう。

構文

Number.isFinite()の構文は以下のとおりです。

Number.isFinite(100/0);

サンプルコード

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var result1 = Math.min();
      document.write(isFinite(result1));
      document.write("<br>");
      var result2 = Number.isFinite(100/0);
      document.write(result2);
      document.write("<br>");
      var result3 = Math.max(25, 36, 862);
      document.write(isFinite(result3));
      document.write("<br>");
      document.write(isFinite("Hello"));
   </script>
</body>
</html>

実行結果

false
false
true
false

結果の解説

  • Math.min()は引数なしで呼び出されるとInfinityを返すため、判定結果はfalseになります。
  • 100/0Infinityに評価されるため、Number.isFinite()falseを返します。
  • Math.max(25, 36, 862)862という有限数を返すため、結果はtrueになります。
  • 文字列"Hello"は数値として扱えないため、結果はfalseになります。

isFinite()との違い

グローバル関数のisFinite()は、引数をまず数値に変換してから判定を行います。そのため、数値に変換可能な文字列(例:"123")を渡すとtrueが返されます。一方、Number.isFinite()は型変換を行わず、typeof"number"である値のみを判定対象とします。より厳密な型チェックを行いたい場合は、Number.isFinite()の使用が推奨されます。

  1. JavaScriptで数値の立方根を求める方法!Math.cbrt()メソッドの使い方を解説

    JavaScriptのMathオブジェクトと立方根JavaScriptでは、Mathオブジェクトを使用することで、さまざまな数学的な操作を実行できます。その中でもMath.cbrt()は、数値の立方根(三乗根)を求めるために特化したメソッドです。引数として数値を1つ受け取り、その立方根の値を戻り値として返します。平方根を求めるMath.sqrt()とは異なり、負の数に対しても有効な結果を返せる点が大きな特徴です。数学的に、負の数の立方根も実数として定義されるためです。構文Math.cbrt(64);引数に数値を渡すと、その立方根の値が戻り値として返されます。例1:正の値の立方根を求める次の例で

  2. JavaScriptのNumber()関数とは?使い方とサンプルコードを解説

    JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを