当您将一个对象与另一个具有相同属性的对象进行比较时,为什么它返回false?
For Example
var person={
age:30
}
var person2={
age:40
}
console.log(person==person) or console.log(person===person)
它在控制台 false
中显示吗?
答案 0 :(得分:2)
对象是引用类型,这意味着相等运算符对内存中的对象而不是其内容的引用进行操作。
在特定情况下,您可以将对象序列化为字符串,然后检查
const compareSerializableObjects = (a, b) =>
JSON.stringify(a) === JSON.stringify(b)
答案 1 :(得分:1)
person === person在比较同一参考时将始终返回true,如果在对person === person2进行比较,则是另一种引用,它是错误的。 您是说person.age === person2.age吗?