ES6 Object.is 的使用
定义:方法判断两个值是否是相同的值。
语法:Object.is(value1, value2)
value1:第一个需要比较的值
value2:第二个需要比较的值
返回值:表示两个参数是否相同的 布尔值 。
Object.is('foo', 'foo'); // true
Object.is(window, window); // true
Object.is('foo', 'bar'); // false
Object.is([], []); // false
var foo = { a: 1 };
var bar = { a: 1 };
Object.is(foo, foo); // true
Object.is(foo, bar); // false
Object.is(null, null); // true
// 特例
Object.is(0, -0); // false
Object.is(-0, -0); // true
Object.is(NaN, 0/0); // true
此方法的比较类似于 ‘===’ 但是还有一些不同之处,比如:
// 使用 ‘===’
+0 === -0 //true
NaN === NaN // false
// 使用 Object.is()
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true
更详细的使用方法请参考文档:MDN Object.is()