【发布时间】:2014-10-21 06:57:50
【问题描述】:
我知道 JavaScript 在类型之间的比较中有很多疯狂的结果,尽管我不完全理解为什么。今天遇到了这个。
为什么
"" == [null]
在 JavaScript 中计算为true?
感谢@Qantas,提供更多 Javascript 平等娱乐:
【问题讨论】:
-
一个具有单个空元素的数组被转换为一个字符串,这意味着它调用了 .join(',') ,因为只有一个元素它变成了
(string)null,它是一个空字符串. -
使用严格相等
===,如果要比较两种不同的类型,请将它们转换为相同的类型
标签: javascript