表格1-深拷贝和浅拷贝的区别

⚖️ 深拷贝与浅拷贝对比

特性 浅拷贝 (Shallow Copy) 深拷贝 (Deep Copy)
核心区别 只复制对象或数组的第一层 递归复制对象或数组的所有层级
内存关联 新对象与原对象共享深层(引用类型)数据。 新对象与原对象在内存中完全独立
数据修改 修改新对象的深层数据,原对象会被影响 无论修改新对象的哪一层,原对象都不会被影响
引用类型 复制的是引用(内存地址)。 复制的是实际的数据值,并分配新的内存空间。
常见实现 Object.assign({}, source)、扩展运算符 ({...source})、Array.prototype.slice() JSON.parse(JSON.stringify(source))、专业的库函数(如 Lodash 的 _.cloneDeep())。
适用场景 对象中只包含基本数据类型(如数字、字符串)时;或仅需复制表层结构时。 对象或数组包含多层嵌套结构,且需要彻底独立新数据时。
posted on 2025-11-14 17:01  gagafan  阅读(2)  评论(0)    收藏  举报