概念

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。

浅拷贝的实现方式

  1. 简单地复制语句

  2. Object.assign()

深拷贝的实现方式

  1. 手动复制

  2. 对象只有一层的话可以使用上面的:Object.assign()函数

  3. 转成 JSON 再转回来(会导致内存泄露)

  4. 递归拷贝

  5. 使用Object.create()方法

  6. jquery使用$.extend

  7. lodash使用_.cloneDeep

https://blog.csdn.net/fungleo/article/details/54931379