正如您在this javascript equality table中所看到的,javascript平等传递性很奇怪。
我理解该表的大部分结果,但我对以下比较有疑问:
[] == true // false
[] == false // true
!![] == true // true
!![] == false // false
但是:
if ([]) {
// this code will run
}
if (!![]) {
// and of course this too
}
为什么呢?这是另一个极端不好的部分吗?有这个合理的解释吗?