对象和字符串之间的JavaScript相等

时间:2010-08-06 18:07:15

标签: javascript language-design

根据Firebug控制台,我们在JavaScript中有以下内容:

>>> [''] == ''
true
>>> [''] == ['']
false

在这里发现Python更合乎逻辑,我希望它能够成为现实。无论如何,我可以理解第二个 - 显然两个不同的对象永远不会相互比较,但是第一个给true的原因是什么? ['', '']比较等于什么字符串?

1 个答案:

答案 0 :(得分:3)

它将左侧数组的字符串表示形式与右侧的字符串进行比较。

alert(['', ''] == ','); // true

alert([1, 2] == '1,2'); // true

当然你可以使用严格比较运算符来避免这种情况......

alert([''] === ''); // false