Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript比较对象_Javascript - Fatal编程技术网

Javascript比较对象

Javascript比较对象,javascript,Javascript,将对象与具有相同属性的另一个对象进行比较时,为什么返回false 它在控制台中显示为false为什么?对象是引用类型,这意味着相等运算符对内存中对象的引用进行操作,而不是对其内容的引用 在特定情况下,可以将对象序列化为字符串,然后检查 const compareSerializableObjects = (a, b) => JSON.stringify(a) === JSON.stringify(b) person===person在比较同一引用时将始终返回true,如果比较pers

将对象与具有相同属性的另一个对象进行比较时,为什么返回false


它在控制台中显示为false为什么?

对象是引用类型,这意味着相等运算符对内存中对象的引用进行操作,而不是对其内容的引用

在特定情况下,可以将对象序列化为字符串,然后检查

const compareSerializableObjects = (a, b) =>
  JSON.stringify(a) === JSON.stringify(b)

person===person在比较同一引用时将始终返回true,如果比较person===person2,则不同的引用为false。
你是说person.age==person2.age吗

你也可以检查你关心的个人财产。这些都是值类型,所以person.age==person.age您的意思是person==person2返回false吗?person==person将始终返回true。
const compareSerializableObjects = (a, b) =>
  JSON.stringify(a) === JSON.stringify(b)