先来看个例子:
if(tc == "" ){
console.log("空值!");
}
上面当tc 值为 0 时,if(tc == "") 居然返回true,正常来看不应该。
于是乎,这里就要说到 == 和 === 的区别了
== JavaScript中的隐式操作符,如果两边数据类型不一致,就会进行隐式数据类型转换;
=== JavaScript中的全等操作符,比较的是类型和值都是否相等,属于严格比较,不会进行自动类型转换;
测试证明:
空字符串转换成数字类型是 0
布尔类型 true 转换成数字类型是 1
布尔类型 false 转换成数字类型是 0
null 转换成数字类型是 0
undefined 转换成数字类型 NaN
另外也可再多看一下这篇文章
https://www.cnblogs.com/wl521/p/7423852.html