let obj1 = {a: [1, 2]};
let obj2 = {a: [1, 2]};
Object.assign({}, obj1, obj2);


生成的对象将是:{a: [1, 2]}。但是,数组[1, 2]会引用obj1的内存还是obj2的内存中的数组?

最佳答案

您可以先阅读Object.assign()Merging objects with same properties的文档。

然后,您可以使用strict equals进行验证:

let obj1 = {a: [1, 2]};
let obj2 = {a: [1, 2]};
let merge = Object.assign({}, obj1, obj2);
obj1.a === merge.a; // false
obj2.a === merge.a; // true

关于javascript - 如果我将两个相同的对象浅层合并,则使用哪个对象的引用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53715888/

10-11 14:39