答案 0 :(得分:4)
因为JavaScript强制。
[]
被宽泛地等同于""
,因此使用等于string
的{{1}}强制[].toString()
。
为什么""
会返回false:
==和===比较规则,如果您要比较两个非原始值,如对象(包括函数和数组)。因为这些值实际上是通过引用来保存的,所以==和===比较都只会检查引用是否匹配,而不是关于基础值的任何内容。
[] == [] and [] === []
默认情况下,数组通过简单地将所有值与逗号(,)夹在一起来强制转换为字符串。