如何实现JavaScript中两个对象的深度相等性判断?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1193个文字,预计阅读时间需要5分钟。
目录+严格相等运算符+(===)+对象属性的比较+使用Lodash等工具库判断两个对象是否相等+JSON.stringify方法+使用Object.is()方法+严格相等运算符+(===)+使用==运算符可以比较两个对象是否相等
目录
- 严格相等运算符 (===)
- 对象属性的比较
- 使用 Lodash 等工具库判断两个对象是否相等
- JSON.stringify 方法
- 使用 Object.is() 方法
严格相等运算符 (===)
使用===运算符可以比较两个对象是否引用同一个对象。如果两个变量引用了同一个对象,则它们是相等的,否则它们是不相等的。例如:
const obj1 = { a: 1 }; const obj2 = { a: 1 }; const obj3 = obj1; console.log(obj1 === obj2); // false console.log(obj1 === obj3); // true
在上面的例子中,obj1 和 obj2 的属性值相同,但它们是不同的对象,因此它们的 === 比较返回 false。而 obj1 和 obj3 引用了同一个对象,它们是相等的,因此 obj1 === obj3 返回 true。
本文共计1193个文字,预计阅读时间需要5分钟。
目录+严格相等运算符+(===)+对象属性的比较+使用Lodash等工具库判断两个对象是否相等+JSON.stringify方法+使用Object.is()方法+严格相等运算符+(===)+使用==运算符可以比较两个对象是否相等
目录
- 严格相等运算符 (===)
- 对象属性的比较
- 使用 Lodash 等工具库判断两个对象是否相等
- JSON.stringify 方法
- 使用 Object.is() 方法
严格相等运算符 (===)
使用===运算符可以比较两个对象是否引用同一个对象。如果两个变量引用了同一个对象,则它们是相等的,否则它们是不相等的。例如:
const obj1 = { a: 1 }; const obj2 = { a: 1 }; const obj3 = obj1; console.log(obj1 === obj2); // false console.log(obj1 === obj3); // true
在上面的例子中,obj1 和 obj2 的属性值相同,但它们是不同的对象,因此它们的 === 比较返回 false。而 obj1 和 obj3 引用了同一个对象,它们是相等的,因此 obj1 === obj3 返回 true。

