浅拷贝:是拷贝一层,属性为对象时,浅拷贝是复制,两个对象指向同一 个地址
深拷贝:是递归拷贝深层次,属性为对象时,深拷贝是新开栈,两个对象指向不同的地址
浅拷贝的实现方式有:
- (1)直接变量赋值
- (2)Object.assign();但目标对象只有一层的时候,是深拷贝;
- (3)扩展运算符(…);目标对象只有一层的时候,是深拷贝;
深拷贝就是在拷贝数据的时候,将数据的所有引用结构都拷贝一份。
深拷贝的实现方式有:
-
(1)结合使用JSON.parse()和JSON.stringify()方法。
-
(2)手写遍历递归赋值;