Number.NEGATIVE_INFINITY
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Number.NEGATIVE_INFINITY は静的データプロパティで、負の無限大の値を表します。
試してみましょう
function checkNumber(smallNumber) {
if (smallNumber === Number.NEGATIVE_INFINITY) {
return "Process number as -Infinity";
}
return smallNumber;
}
console.log(checkNumber(-Number.MAX_VALUE));
// 予想される結果: -1.7976931348623157e+308
console.log(checkNumber(-Number.MAX_VALUE * 2));
// 予想される結果: "Process number as -Infinity"
値
グローバルの Infinity プロパティの負の値と同じです。
Number.NEGATIVE_INFINITY のプロパティ属性 | |
|---|---|
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
解説
Number.NEGATIVE_INFINITY の値は、数学的な無限大とは少々異なった振る舞いをします。
POSITIVE_INFINITYも含む任意の正の値と、NEGATIVE_INFINITYの積はNEGATIVE_INFINITYになります。NEGATIVE_INFINITYも含む任意の負の値と、NEGATIVE_INFINITYの積はPOSITIVE_INFINITYになります。- 任意の正の数を
NEGATIVE_INFINITYで割った商は、負のゼロになります(IEEE 754 で定義されているとおり)。 - 任意の負の数を
NEGATIVE_INFINITYで割った商は、正のゼロになります(IEEE 754 で定義されているとおり)。 - 零 と
NEGATIVE_INFINITYの積はNaNになります。 - NaN と
NEGATIVE_INFINITYの積はNaNになります。 NEGATIVE_INFINITYをNEGATIVE_INFINITY以外の任意の負の値で割った商はPOSITIVE_INFINITYになります。NEGATIVE_INFINITYをPOSITIVE_INFINITY以外の任意の正の値で割った商はNEGATIVE_INFINITYになります。NEGATIVE_INFINITYをNEGATIVE_INFINITYまたはPOSITIVE_INFINITYのいずれかで割った商はNaNになります。x > Number.NEGATIVE_INFINITYは x の値がNEGATIVE_INFINITYではない場合に true になります。
成功した場合に有限数を返す関数がエラーである状態を示すために、Number.NEGATIVE_INFINITY プロパティを使いたいかもしれません。しかし、そのような場合は NaN の方がより適しているでしょう。
NEGATIVE_INFINITY は Number の静的プロパティですので、数値のプロパティとしてではなく、常に Number.NEGATIVE_INFINITY として使用してください。
例
>NEGATIVE_INFINITY の使用
以下の例では、変数 smallNumber に最小値よりも小さな値が代入されています。if ステートメントが実行されたとき、smallNumber は -Infinity の値を持つので、処理が継続する前に smallNumber により扱いやすい値がセットされます。
js
let smallNumber = -Number.MAX_VALUE * 2;
if (smallNumber === Number.NEGATIVE_INFINITY) {
smallNumber = returnFinite();
}
仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.negative_infinity> |
ブラウザーの互換性
Loading…