我有以下代码 -
var a = new Object();
var b = {};
console.log(a == b || a === b);
并打印false
。这背后的原因是什么?
答案 0 :(得分:6)
比较对象时,您正在测试它们是否是同一个对象。
你有两个不同的(虽然实际上是相同的)对象。
答案 1 :(得分:1)
比较对象的相等性时,比较两个对象是否具有相同的实例(意味着您比较的变量确实引用了相同的内存)。
您有两个不同的实例,因此相等比较会产生错误。
如果要检查两个对象的所有属性是否具有相同的值,则它是另一回事,您必须检查每个对象属性的相等性。