JS中全等和相等操作符的区别和比较规则

一、两者的区别

  • 相等:先强制转换变量类型,再比较
  • 全等:不转换类型,一旦类型不同,就是不全等。

二、相等和不相等的比较规则

1.操作符中有布尔值时:

比较前先将之转换为数值
false => 0 , true =>1

2.字符串,另一个是数值:

字符串去将就数值

3.对象:

object.valueOf()方法,用得到的基本类型值按照前面的规则进行比较

4.操作符

4.1 none == undefined:相等

4.2 NaN ==其他(不管是别人还是自己):false(不等号操作,反之)

4.3 对象 == 对象 :指向同一个对象时才true

出于严谨考虑,推荐‘===’操作符

原文地址:https://www.cnblogs.com/n2meetu/p/8626174.html