gpt4 book ai didi

javascript - 为什么 Number 构造函数无法解析带分隔符的数字?

转载 作者:行者123 更新时间:2023-12-05 04:28:37 25 4
gpt4 key购买 nike

既然 JavaScript 有数字分隔符(_U+005F),为什么 Number("3_0") 返回 NaN ?它不应该像返回 8 的 Number("0x08") 那样工作吗?

Number.isNaN(Number("3_0")) // true
Number.isNaN(Number(3_0)) // false
Number("3_0") === 30 // false
Number(3_0) === 30 // true

最佳答案

根据spec , 数字文字接受的语法与字符串值转换为数值时接受的语法之间存在一些差异。

其中一个区别是

A StringNumericLiteral cannot include a NumericLiteralSeparator.

如果我不得不猜测,原因是接受此类字符会改变现有有效 JavaScript 代码的行为,这可能会破坏正在运行的应用程序。

关于javascript - 为什么 Number 构造函数无法解析带分隔符的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72548282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com