首页 > 代码库 > ==比较时的坑

==比较时的坑

‘‘==‘0‘ //false 2个都是字符串 直接比较,不需要转换
0==‘‘ //true ‘‘转为数字
0==‘0‘ //true ‘0‘转为数字

false==‘false‘ //false false转为0 ,‘false‘为true
false==‘0‘ //true
与运算符及ECMAScript内定义的其两边的表达式的类型转换规则有关
false==‘0‘ 这种情况是两边分别将布尔类型和字符串都转换成了数字进行比较,false->0,‘0‘->0,所以实际上最后是 0==0

false==undefined //false undefined和null都是没有值,所以它们和false比都不相等
false==null //false
null==undefined //true

‘\t\r\n‘==0 //true

注:转换优先级Object型低于字符型,字符型低于数字型

==比较时的坑