Number.POSITIVE_INFINITY

Number.POSITIVE_INFINITY プロパティは正の無限大を表す値です。

Number.POSITIVE_INFINITY のプロパティ属性
書込可能 不可
列挙可能 不可
設定可能 不可

解説

Number.POSITIVE_INFINITY の値はグローバルオブジェクトの Infinity プロパティの値と同じです。

この値は数学的な無限大とは少々異なった振る舞いをします。

  • POSITIVE_INFINITY も含む任意の正の値と、 POSITIVE_INFINITY の積は POSITIVE_INFINITY になります。
  • NEGATIVE_INFINITY も含む任意の負の値と、 POSITIVE_INFINITY の積は NEGATIVE_INFINITY になります。
  • 任意の正の数を POSITIVE_INFINITY で割った商は、+0 になります。
  • 任意の負の数を POSITIVE_INFINITY で割った商は、-0 になります。
  • 零 と POSITIVE_INFINITY の積は NaN になります。
  • NaNPOSITIVE_INFINITY の積は NaN になります。
  • POSITIVE_INFINITYNEGATIVE_INFINITY を除く、任意の負の値で割った商は NEGATIVE_INFINITY になります。
  • POSITIVE_INFINITYPOSITIVE_INFINITY を除く、任意の正の値で割った商は POSITIVE_INFINITY になります。
  • POSITIVE_INFINITYNEGATIVE_INFINITYPOSITIVE_INFINITY のどちらかで割った商は NaN になります。

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

POSITIVE_INFINITYNumber の静的プロパティですので、作成した Number オブジェクトのプロパティとしてではなく、常に Number.POSITIVE_INFINITY として扱ってください。

POSITIVE_INFINITY の使用

以下の例では、変数 bigNumber に最大値よりも大きな値が代入されています。if ステートメントが実行されるとき、bigNumberInfinity の値を持つので、処理が継続する前に bigNumber により扱いやすい値がセットされます。

var bigNumber = Number.MAX_VALUE * 2;

if (bigNumber == Number.POSITIVE_INFINITY) {
  bigNumber = returnFinite();
}

仕様書

ブラウザーの互換性

BCD tables only load in the browser

関連情報