javascript ==和=== 区别 2018-12-04

== 只比较值

=== 用于严格比较 判断两者严格相等 不会进行自动转换,要求必须类型和值严格一致,不一致时返回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;

总结  "==" 只要求值相等;  "===" 要求值和类型都相等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容