浅谈JS的( == )与( === )的区别
【 == 】 为等于运算符 ,【=== 】 为严格等于运算符。两个都是用来比较两边的值是否相等。相等则返回ture,不相等则返回false。
【==】运算符的比较规则:
1、相同类型比较时,和严格等于比较规则一样。
2、两边都是基本数据类型时,会将数值进行转换,转换成number类型再进行比较。
3、复杂数据类型与基本数据类型相比较时,会将复杂数据类型转换为基本数据类型的值,在进行比较。
【===】运算符的比较规则:
1、两边数据的类型不相同,则直接返回false。
2、两边的数据类型相同时,值相等则返回true,否则返回false。
3、NaN与NaN比较时会直接返回false。
4、两边都是复杂数据类型时,比较的是指针指向的内存地址是否相等,相等则返回true,否则返回false。