我很确定我之前想过这个,但不记得为什么这会解决为假。有人可以解释原因吗?
if ({foo: 'bar'} === {foo: 'bar'}) {
console.log("Strictly Equal");
} else {
console.log("Not Equal");
}
我也试过==但它仍然有两个对象文字不相等。
由于
答案 0 :(得分:5)
==
和===
不进行深度比较。他们将对价值类型进行价值比较。但是,将对象作为参考进行比较。比较中的对象不是同一个对象;它们恰好相同。
答案 1 :(得分:1)
这是一个不同的对象。字符串表示相同,因此您可以使用https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify将唯一对象转换为字符串。然后比较字符串,它们将匹配。