gpt4 book ai didi

JavaScript 赋值改变了加法运算语义?

转载 作者:数据小太阳 更新时间:2023-10-29 05:15:48 25 4
gpt4 key购买 nike

如果你评估 {} + 1 你得到 1,但是如果你将相同的表达式分配给一个变量,比如 x = {} + 1,该变量将保存一个字符串 "[object Object]1"

为什么赋值会改变右侧表达式的语义?右边的表达式不应该是“上下文无关的”吗?

最佳答案

{} + 1

被解释为后跟 +1 的代码块,其计算结果为 1。奥托:

x = {} + 1

被评估为 new Object() 加上 1

如果您将原始语句更改为:

new Object() + 1

您将看到 [object Object]1" 作为结果。

关于JavaScript 赋值改变了加法运算语义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19280502/

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