gpt4 book ai didi

javascript - 为什么两个相同的对象彼此不相等?

转载 作者:IT王子 更新时间:2023-10-29 03:10:25 24 4
gpt4 key购买 nike

似乎下面的代码应该返回 true,但它返回 false。

var a = {};
var b = {};

console.log(a==b); //returns false
console.log(a===b); //returns false

这有什么意义?

最佳答案

常规 (==) 和严格 (===) 之间的唯一区别是严格相等运算符禁用类型转换。由于您已经在比较两个相同类型的变量,因此使用哪种相等运算符并不重要。

无论您使用常规相等还是严格相等,对象比较仅在true比较完全相同的对象时才计算得出。

即给定 var a = {}, b = a, c = {};, a == a, a == b,但是 a != c

两个不同的对象(即使它们都具有零个或完全相同的属性)永远不会进行平等比较。如果需要比较两个对象的属性是否相等,this question has very helpful answers .

关于javascript - 为什么两个相同的对象彼此不相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11704971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com