Number.MAX_SAFE_INTEGER

基线 广泛可用

此功能已得到良好建立,并且可在许多设备和浏览器版本中使用。它自以下时间起在各浏览器中可用 2015 年 7 月.

Number.MAX_SAFE_INTEGER 静态数据属性表示 JavaScript 中的最大安全整数 (253 – 1)。

对于更大的整数,请考虑使用 BigInt

试一试

9007199254740991 (9,007,199,254,740,991,或约 9 千万亿)。

Number.MAX_SAFE_INTEGER 的属性
可写
可枚举
可配置

描述

双精度浮点数格式 仅有 52 位来表示 尾数,因此它只能安全地表示 -(253 – 1) 到 253 – 1 之间的整数。“安全”在此处指的是能够精确表示整数并正确比较它们的能力。例如,Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 将评估为 true,这在数学上是不正确的。请参阅 Number.isSafeInteger() 以了解更多信息。

因为 MAX_SAFE_INTEGERNumber 的静态属性,所以你始终将其用作 Number.MAX_SAFE_INTEGER,而不是作为数字值的属性。

示例

MAX_SAFE_INTEGER 的返回值

js
Number.MAX_SAFE_INTEGER; // 9007199254740991

MAX_SAFE_INTEGER 和 EPSILON 之间的关系

Number.EPSILON 为 2-52,而 MAX_SAFE_INTEGER 为 253 – 1 — 两者都源自尾数的宽度,即 53 位(最高位始终为 1)。将它们相乘将得到一个非常接近 — 但不等于 — 2 的值。

js
Number.MAX_SAFE_INTEGER * Number.EPSILON; // 1.9999999999999998

规范

规范
ECMAScript 语言规范
# sec-number.max_safe_integer

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅