手册
目录
JavaScript 整数最多只能精确到 15 位:
let x = 999999999999999; let y = 9999999999999999;运行实例 »
点击 "运行实例" 按钮查看在线实例
在 JavaScript 中,所有数字都以 64 位浮点格式(IEEE 754 标准)存储。
根据此标准,大整数无法被精确表示,会被四舍五入。
因此,JavaScript 只能安全地表示以下范围内的整数:
超出此范围的整数值会失去精度。
如需创建 BigInt,可以在整数末尾添加 n,或调用 BigInt() 函数:
let x = 9999999999999999; let y = 9999999999999999n;运行实例 »
点击 "运行实例" 按钮查看在线实例
let x = 1234567890123456789012345n; let y = BigInt(1234567890123456789012345)运行实例 »
点击 "运行实例" 按钮查看在线实例
BigInt 的 JavaScript 类型是 "bigint":
let x = BigInt(999999999999999); let type = typeof x;运行实例 »
点击 "运行实例" 按钮查看在线实例
BigInt 是 JavaScript 中的第二个数值数据类型(在 Number 之后)。
对于 BigInt,JavaScript 支持的数据类型总数为 8 种:
可用于 JavaScript Number 的运算符也可用于 BigInt。
let x = 9007199254740995n; let y = 9007199254740995n; let z = x * y;运行实例 »
点击 "运行实例" 按钮查看在线实例
不允许在 BigInt 和 Number 之间进行算术运算(类型转换会丢失信息)。
BigInt 无法进行无符号右移操作(>>>),因为它没有固定的宽度。
BigInt 不能有小数。
let x = 5n; let y = x / 2; // Error: Cannot mix BigInt and other types, use explicit conversion.
let x = 5n; let y = Number(x) / 2;运行实例 »
点击 "运行实例" 按钮查看在线实例
BigInt 也可以写成十六进制、八进制或二进制表示法:
let hex = 0x20000000000003n; let oct = 0o400000000000000003n; let bin = 0b100000000000000000000000000000000000000000000000000011n;运行实例 »
点击 "运行实例" 按钮查看在线实例
舍入可能会危及程序安全:
9007199254740992 === 9007199254740993; // 为 true !!!运行实例 »
点击 "运行实例" 按钮查看在线实例
自 2020 年 9 月以来,所有浏览器都支持 BigInt:
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 67 | Edge 79 | Firefox 68 | Safari 14 | Opera 54 |
| 2018 年 5 月 | 2020 年 1 月 | 2019 年 7 月 | 2020 年 9 月 | 2018 年 6 月 |
ES6 向 Number 对象添加了 max 和 min 属性:
MAX_SAFE_INTEGERMIN_SAFE_INTEGERlet x = Number.MAX_SAFE_INTEGER;运行实例 »
点击 "运行实例" 按钮查看在线实例
let x = Number.MIN_SAFE_INTEGER;运行实例 »
点击 "运行实例" 按钮查看在线实例
ES6 还为 Number 对象添加了两个新方法:
Number.isInteger()Number.isSafeInteger()如果参数是整数,则 Number.isInteger() 方法返回 true。
Number.isInteger(10); Number.isInteger(10.5);运行实例 »
点击 "运行实例" 按钮查看在线实例
安全整数是可以精确表示为双精度数的整数。
如果参数是安全整数,则 Number.isSafeInteger() 方法返回 true。
Number.isSafeInteger(10); Number.isSafeInteger(12345678901234567890);运行实例 »
点击 "运行实例" 按钮查看在线实例
安全整数是从 -(253 - 1) 到 +(253 - 1) 的所有整数。
这是一个安全整数:9007199254740991。这不是一个安全整数:9007199254740992。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习