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 静态数据属性表示正无穷大值。

尝试一下

与全局属性 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
  • Number.POSITIVE_INFINITY > x 对于任何不是 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();
}

规范

Specification
ECMAScript Language Specification
# sec-number.positive_infinity

浏览器兼容性

BCD tables only load in the browser

参见