Object.is() 检测两个值是否相同

131 阅读1分钟

Object.is() 检测两个值是否相等

1 -

Object.is('abc', 'abc');     // true
Object.is(window, window);   // true

2 - 引用类型会检测引用地址是否相同

const o1 = { a: 1 }
const o2 = { a: 1 }
const o3 = o1
Object.is(o1, o2) // false
Object.is(o1, o3) // true

Object.is([], []) // false

3 - 特殊

Object.is(0, -0);            // false
Object.is(0, +0);            // true
Object.is(-0, -0);           // true
Object.is(NaN, 0/0);         // true
Object.is(NaN, NaN);         // true