==:比较运算符中的相等,用来检测两边的值是否相等,这里的相等定义的非常宽松,存在隐式转换,可以允许进行类型转换。
“1”== true 以及 “1”== 1左侧为字符型,右侧为布尔型或数值型,左右两侧类型不同,但结果为true。右侧为布尔型时,先进行类型转换,把true转换为1,即为“1” == 1;此时,类型仍不同,继续进行类型转换,把“1”转换为1,即为1 == 1。右侧为数值型时,先进行类型转换,把“1”转换为1,即为1 == 1。
===:用来检测两边的值是否严格相等,不存在隐式转换。
“1”=== true 以及 “1”=== 1 左侧为字符型,右侧为布尔型或数值型,左右两侧类型不同,结果为false。
== 会对不同类型的值进行类型转换然后比较判断;=== 会先对值的类型进行比较,类型不相等时直接为false。