前言比较JavaScript中的原始值非常简单。只需使用任何一种可用的相等运算符即可,例如严格相等运算符:但是对象却有结构化数据,所以比较起来比较困难。引用比较JavaScript 提供了 3 种对值进行比较的方法:。这就是让我们定义对象hero1和hero2,并查看实际中的参照相等性:hero1 === hero1的计算结果为true,因为两个操作数均指向了同一个对象实例hero1。尽管如此,即使比较相同结构的对象,hero1 === hero2的结果也是false。用for循环遍历键,并比较object1和object2的每个属性。另一方面,由于hero1和hero3具有不同的属性,所以shallowEqual将会返回false。发生这种情况是因为嵌套对象hero1.address和hero2.address是不同的对象实例。手动检查对象是否相等,需要对属性值进行手动比较。
暂无评论