+ [] 和 [] + 结果如何不同[重复]
Posted
技术标签:
【中文标题】+ [] 和 [] + 结果如何不同[重复]【英文标题】:How can + [] and [] + results be different [duplicate] + [] 和 [] + 结果如何不同[重复] 【发布时间】:2012-08-13 13:17:37 【问题描述】:可能重复:What is the explanation for these bizarre javascript behaviours mentioned in the 'Wat' talk for CodeMash 2012?
有人可以向我解释在 javascript 中返回的结果如何不同:
› + []
» 0
› [] +
» "[object Object]"
【问题讨论】:
因为它是 Javascript...谁说它必须有意义?!!WAT
? :)
***.com/questions/9032856/…
@Mehrdad 这一切都在规范中***.com/a/9033306/135448,现在取决于您所说的“有意义”;)
我想我昨天读到了同样的问题......
【参考方案1】:
这是因为代码中的不是对象字面量,而是一个空块。
解析为:
; // empty block
+ []; // this result is shown in the console
与() + []
比较,产生与[] +
相同的结果;在这种情况下,括号强制 被“在表达式上下文中”处理/解析。
关于 的这种特殊双重性质(作为表达式或块?),SO 上有很多重复的bunch,但是,找到它们可能有些棘手..
我在 Meta 上找到了 https://meta.stackexchange.com/questions/83911/how-do-i-search-***-for-at-keywords-like-private-or-synthesize,并使用 Symbolhound 找到了解决问题 like this(与“评估 JSON”时需要添加括号有关)或 this(其中使用“ == false”之类的结构是语法错误)。
如果有人知道更好的方法来搜索此类问题,或者有指向此类重复的方便的链接..
【讨论】:
实际上找到重复项是问题所在。我确定我在过去几天看到了同样的问题,但在[]
上搜索效果不太好。
是的,我遇到了这个问题。现在我只是想按照 pst 的说明合并它们。 ***.com/questions/9032856/…以上是关于+ [] 和 [] + 结果如何不同[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何通过两种不同类型的字段对 linq 查询结果进行排序 [重复]
Python列表-L1 + = [5]和L1 = L1 + [5]的不同结果[重复]
如何定义对象类型的真正逻辑或(结果中不混合不同的对象键)[重复]