Number.POSITIVE_INFINITY
Number.POSITIVE_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 Language Specification # sec-number.positive_infinity |
ブラウザーの互換性
BCD tables only load in the browser