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