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

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

試してみましょう

function checkNumber(bigNumber) {
  if (bigNumber === Number.POSITIVE_INFINITY) {
    return "Process number as Infinity";
  }
  return bigNumber;
}

console.log(checkNumber(Number.MAX_VALUE));
// Expected output: 1.7976931348623157e+308

console.log(checkNumber(Number.MAX_VALUE * 2));
// Expected output: "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 になります。
  • 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® 2025 Language Specification
# sec-number.positive_infinity

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
POSITIVE_INFINITY

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報