区别: ===在比较操作数的时候不会进行强制类型转换
===注意点
- +0 和 -0相等
- NAN不相等
- 为了解决上述两个问题,新增了Object.is(value1,value2)方法。
== 强制转换规则
- 如果任一操作数是布尔值,将其转换为数值
- 如果一个操作数是字符串,另一个操作数是数值,将字符串转换为数值
- 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf方法取原始值,再根据前面的规则比较
- null和undefined相等
- NAN不等于任何操作数
- 如果两个操作数都是对象,则比较它们是不是同一个对象。