== 只比较值
=== 用于严格比较 判断两者严格相等 不会进行自动转换,要求必须类型和值严格一致,不一致时返回flase。
1. == 举例
"3" == true
类型不同,"=="将先做类型转换,把true转换为3,即为 "3" == 3;
此时,类型仍不同,继续进行类型转换,把"3"转换为3,即为 3 == 3;
此时,"==" 左右两边的类型都为数值型,比较成功!返回true
a:"3" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
b:"3" === 3 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;
c: 3 === 3 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
d: 3 === 4 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;
总结 "==" 只要求值相等; "===" 要求值和类型都相等