gpt4 book ai didi

javascript - 在 JavaScript 中,字符串化数字在减去它们之前是否应该转换为整数? (最佳实践)

转载 作者:行者123 更新时间:2023-11-30 09:23:29 25 4
gpt4 key购买 nike

我最近写了一些代码,从两个单独的元素中获取文本,然后将它们相减,令我惊讶的是我不必先将它们转换为整数。我环顾四周,似乎 JavaScript 在使用减法运算符时将字符串转换为数字。有谁知道将它们保留为字符串是否可以,或者为了最佳实践,我应该先将它们转换为整数吗?如果是,为什么?谢谢。

例子:“10” - “6” = 4

最佳答案

[…] to my surprise I didnt have to convert them first to integers […]

接下来还有更多惊喜:

因此,在算术运算的上下文中,您的字符串值被强制转换为浮点值。 JavaScript 没有告诉您这正在发生。

这是一个可以隐藏很长时间的错误来源,因为如果您的字符串值成功转换为数字,操作就会成功,即使您预计这些值会引发错误。

js> "1e15" - "0x45"  // The reader might have expected this to raise an error.
999999999999931

简介“Wat” presentation by Gary Bernhardt包含了 JavaScript 的隐式类型强制转换的其他令人惊讶(和搞笑)的结果。

Does anyone know if this is ok to leave them as strings or for best practice should they first me converted to [numbers]?

是的,在我看来你应该只对显式转换的数字进行算术运算,因为(正如你发现的那样)对于阅读代码的新手来说,隐式强制转换规则并不总是显而易见的。

关于javascript - 在 JavaScript 中,字符串化数字在减去它们之前是否应该转换为整数? (最佳实践),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50282438/

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