==比较两个值是否相等,并且做类型转换
=== 比较也是比较两个值是否相等,但是比较的时候不做类型转换,严格比较
案例1:
“1” = true;
首先,会做类型转换,左边是一个String类型的数据,右面是一个布尔类型,将true转换成1;“1” == 1;
再次,类型还是不同的,类型还是不同的将“1”转换成1,即变成 1 == 1;
最后 1 == 1 ,左右的值和数据类型是相同的,所以为true;
“1”== 1;
首先,会做类型转换,将“1”转换成 1,即变成 1==1;左右和右面的类型和值都是相同的所以返回为true
1 == 1;
左边和右面类型和值都是相同的,所以返回为true
1 == 2;
左边和右面类型是相同的,但是值不同,所以返回为false
案例二
"1" === true;
首先,左边是String类型的数据,右面是布尔类型的数据,数据类型不同,故返回为false
"1" === 1;
左边是String类型的数据,右面是int类型的数据,数据类型不同,返回为false
1 === 1;
左边是int类型的数据,右面是int类型的数据,左右数据类型相同,在此查看值也是相同的,故返回的是true
1 === 2;
左边是int类型的数据,有面试int类型的数据,左右数据类型相同,但是值不同,所以返回时false