JavaScript中!== 和 ==区别
var a = 1;//a类型是数字
var b = "1";//b类型是字符串
var c = true;//c类型是布尔值 true可转换为1
var d = false;//d类型是布尔值 false可转换为0
var e = 0;//e类型是数字
var f = '0';//f类型是字符串
!== 严格不相等:两个值进行对比,直接进行对比,不相等返回true,相等返回false
if (a !== b) {//条件判断为true进if代码块
console.log("!==不会转换两边的值,直接进行对比。a:1 , b:'1' a不等于b")
} else {}
!=不相等:两个值进行对比,如类型不同会自动进行类型的转换,再对比是否
if(a != c) {
} else {//条件判断为flase进else代码块
console.log("!=会自动转换两边的值类型,再进行对比。a:1 , c:1 a等于c")
}
相等根据测试条件返回true或false
==相等:两个值进行对比,如类型不同会自动进行类型的转换,再对比是否相等根据测试条件返回true或false
if(a == c) {//条件判断为true进if代码块
console.log("==会自动转换两边的值类型,再进行对比。a:1,c:true a等于c")
} else{}
if(a == b) {//条件判断为true进if代码块
console.log("==会自动转换两边的值类型,再进行对比。a:1,b:1 a等于b")
}
=== 是严格相等:两个值进行对比,直接进行对比,相等返回true,不相等返回false
if(d === e) {
} else {//条件判断为flase进else代码块
console.log("===不会转换两边的值,直接进行对比。d:1 , e:1 d不等于e");
}
if(d === f) {
} else {//条件判断为flase进else代码块
console.log("===不会转换两边的值,直接进行对比。d:1 , f:1 d不等于f");//false
}