Number.MAX_SAFE_INTEGER

Number.MAX_SAFE_INTEGER 常量表示在 JavaScript 中最大的安全整数(maxinum safe integer)(253 - 1)。

Number.MAX_SAFE_INTEGER 属性的属性特性:
writable false
enumerable false
configurable false

描述

MAX_SAFE_INTEGER 是一个值为 9007199254740991的常量。因为Javascript的数字存储使用了IEEE 754中规定的双精度浮点数数据类型,而这一数据类型能够安全存储 -(253 - 1) 到 253 - 1 之间的数值(包含边界值)。

这里安全存储的意思是指能够准确区分两个不相同的值,例如 Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 将得到 true的结果,而这在数学上是错误的,参考Number.isSafeInteger()获取更多信息.

由于 MAX_SAFE_INTEGER 是Number对象创建Number.MAX_SAFE_INTEGER这一属性,就可以直接使用它。

示例

Number.MAX_SAFE_INTEGER // 9007199254740991
Math.pow(2, 53) - 1     // 9007199254740991

规范

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Number.MAX_SAFE_INTEGER
Standard 首次定义
ECMAScript Latest Draft (ECMA-262)
Number.MAX_SAFE_INTEGER
Draft  

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 34 31 (31) 未实现 (Yes) 9.0.2
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) 32.0 (32) 未实现 未实现 未实现

相关链接