我想知道在复制对象时,JavaScript会进行浅复制还是深复制。
const a = ['value1', 'value2'];
const b = ['value3', 'value4'];
const new_ab = [a, b];
new_ab会有新分配的值或者引用吗?如果是深拷贝,如何使其成为浅拷贝?谢谢。
(Note: I kept the HTML tags and made the text more clear and concise.)
a
和b
是对数组的引用,因此new_ab
将是一个包含这些引用的数组的引用。在您发布的代码中根本没有复制任何对象。 - Pointynew_ab [0]
进行变异并观察对a
的影响来轻松检查这一点。 - Blender