js中存在两组相等操作符:
- 相等(==)和不相等(!=)
- 全等(= = =)和不全等(!==)
示例:
if(2 == '2'){
console.log("2 == '2'");
}
if(3 === '3'){
console.log("3 == '3'");
}else{
console.log("3 !== '3'");
}
示例结果:
== 操作符比较规则
比较之前先转换操作数,转换规则有如下几条:
- 操作数是布尔值的,false转换为0,true转换为1
- 字符串和数值比较时,字符串先转换为数值
- 对象和非对象比较时,对象要调用valueof()方法,用得到的基本数据基本类型值比较
- null == undefine 返回true
- NaN == NaN 返回false
= = =操作符比较规则
比较之前不转换操作数。