===与Object is的区别
# 严格相等检查操作符(===)
当两个值的类型相同且持有相同的值时,严格相等检查运算符的计算结果为 true。
1 === 1; // => true
'abc' === 'abc'; // => true
true === true; // => true
null === null; // => true
undefined === undefined; // => true
1
2
3
4
5
2
3
4
5
重点:
NaN === NaN; // => false
-0 === +0; // => true
1
2
2
# Object.is()
Object.is(valueA,valueB) 以与严格相等运算符相同的方式检查相等性的参数,但有两个区别。
用法上和 === 基本一致,区别:
Object.is(NaN, NaN); // => true
Object.is(-0, +0); // => false
1
2
2