深浅拷贝

1.深浅拷贝
浅拷贝:
​ 对象复制的时候只复制第一层,创建一个对象接收要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;如 果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址,可能会影响到另一个对象
实现方法:
​ ``Object.assign(newObj,oldObj)`
深拷贝:
​ 创建一个新的对象,将原对象的的各项属性的值拷贝过来,其中任何一个对象的改动都不会对另一个对象造成影响
实现方法:
​ JSON:const newObj = JSON.parse(JSON.stringify(oldObj))
​ 局限性:
​ 1.拷贝的对象如果有函数、undefined,经过JSON.stringify序列化之后的字符串中这个键值对会消失
​ 2.拷贝RegExp引用类型会变成空对象
​ lodash
​ 递归

 

posted @ 2023-01-30 09:15  小闫的姑娘  阅读(18)  评论(0编辑  收藏  举报