如果你评估{} + 1
你得到1
,但如果你将相同的表达式分配给一个变量,比如说x = {} + 1
,该变量将包含一个 string "[object Object]1"
。
为什么赋值会改变右侧表达式的语义?右手边的表达式不应该是“上下文无关的”吗?
如果你评估{} + 1
你得到1
,但如果你将相同的表达式分配给一个变量,比如说x = {} + 1
,该变量将包含一个 string "[object Object]1"
。
为什么赋值会改变右侧表达式的语义?右手边的表达式不应该是“上下文无关的”吗?