js中==和===的区别

Js中==:用来进行一般比较检测两个操作数是否相等,可以允许进行类型转换

===:用于严格比较,只要类型不匹配就返回flase。

对于string,number等基础类型,==和===是有区别的:

比如:"1" == true类型不同,"=="先做类型转换,把true转换为1,即为 "1" == 1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1。如果比较:"1" === true 左侧为字符型,右侧为布尔型或数值型,左右两侧类型不同,结果为false;

如果比较:1 === 1 左侧为数值型,右侧也为数值型,左右两侧类型相同,数值大小也相同,结果为true;如果比较:1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false。

但是对于Array,Object等高级类型,==和===是没有区别的。

以上为js中==和===的区别。

你可能感兴趣的:(js中==和===的区别)