JS中怎么判断两个对象是否相等?

我在另外一篇文章中,介绍了相等运算符,告诉了你们通常类型值的比较,感兴趣的能够看👉文章连接,在那篇文章中,我没有讲对象比较,今天我单独给你们讲一讲对象的相等
说到对象相等,你们可能会认为两个对象的值彻底同样,毫无疑问确定相等,那咱们试试看segmentfault

var obj1 = {a:1}
var obj2 = {a:1}

你们以为obj1 等于obj2吗?
结果可能有些出乎意料数组

obj1 == obj2 //结果为false

这是为何呢?

这是由于检查两个对象变量是否相同时,其实比较的是指向对象的引用,而且仅当两个引用指向的是同一个对象时,他们才是相等的code

var obj1 = {a:1}
var obj2 = obj1
obj1 == obj2 //结果为true

再举个例子,数组也是对象的一种对象

var a = [0,1,2]
var b = [0,1,2]
a == b //false
var b = a
a == b //true

因此紧紧记住,当两个引用指向同一个对象时,对象才是相等的get

最后 🙌

好啦,以上就是我本次分享的所有内容啦,若是你以为个人文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~变量

相关文章
相关标签/搜索