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

JavaScriptの負の無限大とは?Number.NEGATIVE_INFINITYの使い方を解説

Number.NEGATIVE_INFINITYとは

Number.NEGATIVE_INFINITYプロパティは、JavaScriptにおける「負の無限大(-Infinity)」の値を表します。JavaScriptで表現できる最小の数値(約 -1.7976931348623157 × 10^308)を下回る値は、自動的に負の無限大へと変換されます。

サンプルコード

function checkInfinity(smallNumber) {
    if (smallNumber === Number.NEGATIVE_INFINITY) {
        return 'Process number as -Infinity';
    }
    return smallNumber;
}
console.log(checkInfinity(-Number.MAX_VALUE));
console.log(checkInfinity(-Number.MAX_VALUE * 2));

実行結果

-1.7976931348623157e+308
"Process number as -Infinity"

この例では、-Number.MAX_VALUEはJavaScriptで表現可能な範囲内であるため、そのままの値が出力されます。一方、-Number.MAX_VALUE * 2は表現範囲を超えてしまうため、負の無限大(-Infinity)として処理されていることがわかります。

負の無限大が生じる具体例

非常に大きな負の数を扱う場合も、同様に負の無限大になります。

console.log(-1e309); // -Infinity
console.log(Number.isFinite(-1e309)); // false
console.log(Number.isFinite(-1e308)); // true

無限大かどうかを判定したい場合は、Number.isFinite()メソッドを使うと便利です。有限の数値であれば true、無限大やNaNであれば false を返します。

注意点

Number.NEGATIVE_INFINITY の値は、グローバルオブジェクトの Infinity プロパティの負の値(-Infinity)と完全に同じです。

さらに詳しい仕様については、MDNの公式ドキュメントを参照してください。
Number.NEGATIVE_INFINITY - JavaScript | MDN

  1. JavaScriptで入力値が数字か文字かを判定する方法【isNaN()関数の使い方】

    入力された値が数字か文字(数値以外)かを判定するには、JavaScriptのisNaN()関数を使用します。この関数は、値がNaN(Not a Number:非数)である場合にtrueを返します。この特性を利用することで、ユーザーが入力した値が数値かどうかを簡単にチェックできます。 isNaN()関数とは isNaN()は「is Not a Number」の略称です。引数として渡された値が数値として解釈できない場合にtrueを、数値として解釈できる場合はfalseを返します。これにより、「入力内容が数字かどうか」をシンプルに判定できるのが特徴です。 サンプルコード 以下のコードでは、フォームの

  2. JavaScriptで数値の各桁の位の値を求める方法

    本記事では、正の整数を受け取り、その数の各桁の位の値(プレースバリュー)を配列として返す関数 splitNumber() をJavaScriptで実装する方法を解説します。やりたいことたとえば、入力として次のような数値が与えられた場合:const num = 1234;期待される出力は以下のようになります。出力例const output = [1000, 200, 30, 4];つまり、千の位・百の位・十の位・一の位それぞれの値を要素とした配列を作るわけです。それでは、実際にコードを書いていきましょう。再帰を使ったアプローチこの問題は、数値の各桁を先頭から順に処理していくため、再帰的なアプロー