为什么空数组等于空字符串而不是javascript中的另一个空数组?

时间:2018-02-10 07:57:03

标签: javascript

enter image description here

有谁可以描述上面的图片?它是我的Chrome开发工具控制台的屏幕截图。

1 个答案:

答案 0 :(得分:4)

因为JavaScript强制。

[]被宽泛地等同于"",因此使用等于string的{​​{1}}强制[].toString()

为什么""会返回false:

==和===比较规则,如果您要比较两个非原始值,如对象(包括函数和数组)。因为这些值实际上是通过引用来保存的,所以==和===比较都只会检查引用是否匹配,而不是关于基础值的任何内容。

[] == [] and [] === []
默认情况下,

数组通过简单地将所有值与逗号(,)夹在一起来强制转换为字符串。