📅  最后修改于: 2023-12-03 14:42:26.070000             🧑  作者: Mango
在Javascript中,Object是一种基本数据类型,表示一个无序的集合,其元素结构为“键-值”对。在Object类型中有一个is()方法,用于比较两个对象是否相等。
Object.is(value1, value2)
value1
:第一个要进行比较的值;value2
:第二个要进行比较的值。如果两个值相等,则返回true
,否则返回false
。
NaN
和NaN
不相同;-0
和+0
,在Javascript中是相等的。// 相同的值
Object.is(1, 1); // true
Object.is('foo', 'foo'); // true
Object.is(null, null); // true
Object.is(undefined, undefined); // true
Object.is(window, window); // true
Object.is(true, true); // true
Object.is(NaN, NaN); // true
// 不同的值
Object.is(1, '1'); // false
Object.is({}, {}); // false
// -0和+0是相等的
Object.is(-0, -0); // true
Object.is(-0, +0); // false
// 使用Object.is进行相等性判断可以正确处理NaN的情况
const x = NaN, y = 0/0;
Object.is(x, x); // false
Object.is(y, y); // false
Object.is(x, y); // true