先看下面的例子:
let a = { a: 1 };
let b = { a: 1 };
let c = a;
console. log (a = b) ; //打印false,即使它们有相同的属性
console. log(a = c); // true
JS以不同的方式比较对象和基本类型。在基本类型中,JS通过值对它们进行比较,而在对象 中,JS通过引用或存储变量的内存中的地址对它们进行比较。这就是为什么第一个 console. log语句返回false,而第二个console. log语句返回true。a和c有相同的引用地 址,而a和b没有。
Was this helpful?
0 / 0