符合ecma -262的JavaScript实现是否有"2n"是最大的BigInt大小?



据我所知,ECMASCRIPT规范并没有说明BigInt值的最小最大大小是多少,它只是说了"任意精度",在这里似乎是指"实现定义"。

这是否意味着JS引擎可以将RangeError扔到BigInt(3)上而仍然符合规范?

是的,这将是一个符合标准的(尽管很傻)实现。在关于BigInt提案的讨论中,有人提到

[最大允许的BigInt]未指定。实现可以选择自己的限制。这与JavaScript中的其他东西相匹配,比如堆栈的大小,或者typedarray的最大长度,这些也是实现定义的。

还有一个开放的ecma262问题,该问题考虑是否">为各种资源定义最小或最大保证大小">,但目前还没有任何结果。

最新更新