为什么{}+''等于0?

具体执行如图

clipboard.png

初步怀疑是不是右侧空字符串转换为0?

阅读 4.3k
2 个回答

运算符 + 在作为一元运算符的时候,如果它的操作数不是数值,它会将其转换为数值。
你也许奇怪这里 + 前面明明有一个空对象({})为什么会把 + 解释成一元运算符?是因为在这种情况下,前面的 {} 并不是 空对象了,而是 空代码块(empty code block)。

这个是js的数据类型默认转化,你的怀疑是对的 但是中间经过拉几个js的方法转化

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题