为什么“{}+1”在Chrome和Firefox中排名第一,而字符串'[object object]1'

Why does `{} + 1` get number 1 in Chrome and Firefox, but string '[object Object]1' in Node.js?

本文关键字:object 字符串 Chrome Firefox 为什么      更新时间:2023-09-26

在Javascript中添加内容真的很神奇
在Chrome和Firefox中,{} + 1等于数字1;但在Node.js中,{} + 1等于字符串'[object object]1'。另一方面,1 + {}在浏览器和Node.js中都等于"1[object object]"。
谁能解释为什么{} + 1在浏览器中等于1?

这有点复杂。之所以会发生这种情况,是因为大多数JavaScript引擎将{}解释为代码块,而不是对象。因此CCD_ 6与CCD_。如果你做(例如)

({}+1})

则括号()内的代码将被解释为表达式而不是代码块。因此CCD_ 9成为实际对象。

阅读此了解更多详细信息:

http://www.2ality.com/2012/01/object-plus-object.html

这篇文章还解释了为什么Node.Js.

不同