js中 = = 和 === 的区别
= = 和 === 都是用来判断相等的,区别是:相等的程度的深浅。
1.= = 判断相等的程度较浅,只判断数值而不判断数据类型,换言之 ,用= = 作比较的时候可以自动为我们转换数据的类型;
2.=== 判断相等的程度比 = =深,即判断数值,也判断数据类型,不可以自动转换数据的类型。
1、= =(判定值相等)
let a = 1; //数字类型
let b = ‘1’; //字符类型
console.log(a==b);
结果:true
2、=== (全等,判定值和类型都相等)
let a = 1; //数字类型
let b = ‘1’;//字符类型
console.log(a===b);
结果:false
注:
= = 会自动转换数据的类型 ,所以有的时候会产生一些问题,例如:
let a = 1;
let b = true;
console.log(a==b);//结果是true
let a = 0;
let b = false;
console.log(a==b);//结果是true
let a = null;
let b = undefined;
console.log(a==b);//结果是true
小结:=== 更加严谨,建议使用 ===