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

似乎以下代码应返回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 == aa == b,但a != c

两个不同的对象(即使它们都具有零或相同的精确属性)也永远不会相等地进行比较。如果需要比较两个对象的属性的相等性。

以上是 为什么两个相同的对象彼此不相等? 的全部内容, 来源链接: utcz.com/qa/428686.html

回到顶部