{} + 1 vs 1 + {},有什么区别?

时间:2018-08-09 16:13:21

标签: javascript

在对操作数执行操作之前,必须将所有操作数转换为原始类型,我了解toPrimitive()在javascript中的工作方式

这里1+{}给出了我期望的"1[object Object]"

但是对于{}+1,我希望[object Object]1"但它给出1

我想念什么?

1 个答案:

答案 0 :(得分:0)

我认为是因为{}被视为一个块,而不是添加1的对象。 例如

{}+1 = 1
({});+1 = 1
({})+1 = "[object Object]1"
a = {}+1 // a is "[object Object]1"