在JavaScript编程中,深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是两个常用的概念。它们涉及到在复制对象或数组时如何处理内部数据的问题。本文将详细介绍深拷贝和浅拷贝的概念,并提供几种原生JavaScript实现方式。
- 浅拷贝(Shallow Copy)
浅拷贝是指在复制对象或数组时,仅复制了引用而不是复制实际的值。这意味着新对象和原始对象引用相同的内存地址,对其中一个对象的修改会影响到另一个对象。
在JavaScript中,可以使用Object.assign()
方法或扩展运算符(...
)来实现浅拷贝。
// 使用Object.assign()方法实现浅拷贝
const shallowCopy = Object.assign({