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 July 2015.

Number.NEGATIVE_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_INFINITYNEGATIVE_INFINITY 以外の任意の負の値で割った商は POSITIVE_INFINITY になります。
  • NEGATIVE_INFINITYPOSITIVE_INFINITY 以外の任意の正の値で割った商は NEGATIVE_INFINITY になります。
  • NEGATIVE_INFINITYNEGATIVE_INFINITY または POSITIVE_INFINITY のいずれかで割った商は NaN になります。
  • x > Number.NEGATIVE_INFINITYx の値が NEGATIVE_INFINITY ではない場合に true になります。

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

NEGATIVE_INFINITYNumber の静的プロパティですので、数値のプロパティとしてではなく、常に 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 Language Specification
# sec-number.negative_infinity

ブラウザーの互換性

BCD tables only load in the browser

関連情報