Number.POSITIVE_INFINITY

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

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
  • NaN 乘以 POSITIVE_INFINITY 等于 NaN
  • POSITIVE_INFINITY 除以任何负值(不包括 NEGATIVE_INFINITY)等于 NEGATIVE_INFINITY
  • POSITIVE_INFINITY 除以任何正值(不包括 POSITIVE_INFINITY)等于 POSITIVE_INFINITY
  • POSITIVE_INFINITY 除以 NEGATIVE_INFINITYPOSITIVE_INFINITY 等于 NaN
  • 对于任何不是 POSITIVE_INFINITY 的数字 xNumber.POSITIVE_INFINITY > x 为真。

您可以使用 Number.POSITIVE_INFINITY 属性来指示一个错误条件,该条件在成功时返回一个有限的数字。但请注意,在这种情况下,NaN 会更合适。

因为 POSITIVE_INFINITYNumber 的一个静态属性,所以您始终将其作为 Number.POSITIVE_INFINITY 使用,而不是作为数字值的属性。

示例

使用 POSITIVE_INFINITY

在下面的示例中,变量 bigNumber 被赋予了一个大于最大值的数值。当 if 语句执行时,bigNumber 的值为 Infinity,因此 bigNumber 在继续之前被设置为一个更易于管理的值。

js
let bigNumber = Number.MAX_VALUE * 2;

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

规范

规范
ECMAScript® 2026 语言规范
# sec-number.positive_infinity

浏览器兼容性

另见