首页 > 解决方案 > {} + 1 与 1 + {},有什么区别?

问题描述

在对操作数执行操作之前,必须将所有操作数转换为原始类型,我知道toPrimitive()在 javascript 中是如何工作的

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

但如果{}+1我期望[object Object]1"但它给了1

我错过了什么?

标签: javascript

解决方案


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

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

推荐阅读