js 相等和不相等操作符总结
操作符两边操作数先转换数据类型,然后再比较它们的相等性,具体的规则如下:
| 操作符规则 操作符a的数据类型 | 操作符b的数据类型 | == | != | 备注 |
|---|---|---|---|---|
| Boolean转为Number | — | — | — | Boolean无条件转为Number类型 |
| String转为Number | Number | — | — | — |
| Object转为a.valueOf() | 除了Object之外的所有类型 | — | — | — |
| null | undefined | true | false | null等于underfined |
| NaN | — | false | true | NaN不等于NaN |
| Object | Object | — | — | 如果a和b指向同一个对象,相等操作符返回true,否则返回false |
上述表格归纳自javascript高级程序设计,[p51-p53]