javascript中的对象平等和价值平等

时间:2018-03-23 07:31:40

标签: javascript

我无法理解javascript如何处理对象相等。 请问有人可以解释下面的输出吗?

1. var x = 3; 2. var y = 3; 3. var obj1 = {}; 4. var obj2 = {}; 5. var obj3 = obj1; 6. x == y 7. x === y 8. obj1 == obj2 9. obj1 === obj2 10. obj1 == obj3 11. obj1 === obj3

输出:

  
      
  1.   
  2.   
  3.   
  4.   
  5.   
  6.   

1 个答案:

答案 0 :(得分:1)

使用=====比较对象时,只有当对象相同的对象时才进行比较,而不仅仅是相同构造的对象,而是非常相同的对象。

如果你想比较对象是否构造相同,你可能想看看像LoDash这样的东西:https://lodash.com/docs/4.17.5

此处特别相关的是_.isEqual()函数:https://lodash.com/docs/4.17.5#isEqual