console.log(+("9007199254740993"));
console.log("9007199254740993");
为什么它们返回不同的值?
答案 0 :(得分:1)
JavaScript编号的最大可能值为9007199254740991。
要处理大于此数字的数字,您需要使用BigInt。
"webpack:///../core/lib/index.js"
This link显示了对BigInt的本机支持的当前级别。根据目标平台的不同,您可能需要使用Polyfill来实现BigInt功能。
答案 1 :(得分:1)
JavaScript的最大安全整数限制为2^53 - 1
(9,007,199,254,740,991
)-可能有大于此的数字,但这不是很好:
console.log(9007199254740992 + 200000000001);
console.log(Number.MAX_SAFE_INTEGER);
(上面的代码段显示它们是不同的-请查看第五位和最后一位)。
如果您想要更大的数字,则必须使用实验性的BigInt
。