📜  Javascript Object is()方法(1)

📅  最后修改于: 2023-12-03 14:42:26.070000             🧑  作者: Mango

Javascript Object is()方法

在Javascript中,Object是一种基本数据类型,表示一个无序的集合,其元素结构为“键-值”对。在Object类型中有一个is()方法,用于比较两个对象是否相等。

语法
Object.is(value1, value2)
参数
  • value1:第一个要进行比较的值;
  • value2:第二个要进行比较的值。
返回值

如果两个值相等,则返回true,否则返回false

注意事项
  • 在Javascript中,相等的值不一定是相同的,例如NaNNaN不相同;
  • 对于-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