Javascript 怎样才能{}+;[]和[]和#x2B;{}结果可能不同

Javascript 怎样才能{}+;[]和[]和#x2B;{}结果可能不同,javascript,Javascript,可能重复: 有人能给我解释一下在javascript中返回的结果是如何不同的吗 › {} + [] » 0 › [] + {} » "[object Object]" 这是因为代码中的{}不是一个对象文本,而是一个空块 它被解析为: {}; // empty block + []; // this result is shown in the console 与({})+[]比较,后者产生与[]+{}相同的结果;在这种情况下,括号强制“在表达式上下文中”处理/解析{} 关于{}(作为表

可能重复:

有人能给我解释一下在javascript中返回的结果是如何不同的吗

› {} + []
» 0
› [] + {}
» "[object Object]"

这是因为代码中的
{}
不是一个对象文本,而是一个空块

它被解析为:

{};   // empty block
+ []; // this result is shown in the console
({})+[]
比较,后者产生与
[]+{}
相同的结果;在这种情况下,括号强制“在表达式上下文中”处理/解析
{}

关于
{}
(作为表达式或块?)的这种特殊的双重性质,有很多重复的地方,但是,找到它们可能有些棘手


我在Meta上找到了,并使用Symbolhound找到了我能找到的解决问题的“最接近的”重复项(这些问题涉及到在“eval'ing JSON”时需要添加括号)或(其中使用像“{}==false”这样的结构是一个语法错误)


如果有人知道一种更好的方法来搜索这个排序问题,或者有一个链接指向这样一个重复的handy…

因为它是Javascript。。。谁说这一定有道理?!!?:)@Mehrdad这一切都在规范中,现在取决于你所说的“有意义”;)我想我昨天读到了这个完全相同的问题…@ErikLandvall如果你发现了一些重复的问题,就投票关闭/link:)不要删除这个问题,它会在适当的时候关闭。事实上,找到重复的是问题所在。我确信在过去几天里我看到了同样的问题,但是在
[]
上搜索效果不太好。是的,我有这个问题要解决。现在我只是想把它们合并成pst所说的。