JavaScript在普通对比运算符“==”执行时可能会进行隐式的类型转换。比如:false==0和""==0的结果都是true。同理也适合于"!="运算符。要避免这种隐式的类型转换,应该采用"==="和"!=="运算符。

var zero = 0;
if (zero === false) {
// not executing because zero is 0, not false
}
// antipattern
if (zero == false) {
// this block is executed...
}
05-27 08:33