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 になります。
  • NaNPOSITIVE_INFINITY の積は NaN になります。
  • POSITIVE_INFINITYNEGATIVE_INFINITY 以外の任意の負の値で割った商は NEGATIVE_INFINITY になります。
  • POSITIVE_INFINITYPOSITIVE_INFINITY 以外の任意の正の値で割った商は POSITIVE_INFINITY になります。
  • POSITIVE_INFINITYNEGATIVE_INFINITYPOSITIVE_INFINITY のどちらかで割った商は NaN になります。
  • Number.POSITIVE_INFINITY > x は任意の数 xPOSITIVE_INFINITY でない場合に true になります。

成功した場合に有限数を返す関数がエラーである状態を示すために、Number.POSITIVE_INFINITY プロパティを使いたいかもしれません。しかし、そのような場合は NaN の方がより適しているでしょう。

POSITIVE_INFINITYNumber の静的プロパティですので、数値のプロパティとしてではなく、常に Number.POSITIVE_INFINITY として使用してください。

POSITIVE_INFINITY の使用

以下の例では、変数 bigNumber に最大値よりも大きな値が代入されています。if 文が実行されるとき、bigNumberInfinity の値を持つので、処理が継続する前に 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

関連情報