Skip to content
登录后刷题更便捷

`==`和`===`的区别是什么?

难度:

==是抽象相等运算符,而===是严格相等运算符。==运算符是在进行必要的类型转换后,再比较。===运算符不会进行类型转换,所以如果两个值不是相同的类型,会直接返回false。使用==时,可能发生一些特别的事情,例如:

js
1 == "1"; // true
1 == [1]; // true
1 == true; // true
0 == ""; // true
0 == "0"; // true
0 == false; // true

我的建议是从不使用==运算符,除了方便与nullundefined比较时,a == null如果anullundefined将返回true

js
var a = null;
console.log(a == null); // true
console.log(a == undefined); // true
参考

内容仅供参考,难免有不恰当的地方,如果有问题欢迎及时反馈
部分内容来自网络,如果不慎侵犯您的权益,请联系我们,以便及时删除侵权内容