JavaScript深拷贝与浅拷贝

僤鯓⒐⒋嵵緔 提交于 2020-01-31 04:21:03

1.数据分为基本数据类型(String, Number, Boolean, Null, Undefined, Symbol)和引用数据类型。深拷贝和浅拷贝只针对像Object和Array这样的引用数据类型。

2.浅拷贝只复制指向某个对象的指针,不复制对象本身,两个对象共享同一块内存。深拷贝会创建一个相同的对象,与原对象不共享内存,修改新对象不影响原对象。

3.浅拷贝的实现:

1)Object.assign() (当object只有一层时是深拷贝);

2)Array.prototype.concat()

3) Array.prototype.slice()

4.深拷贝的实现:

1) JSON.parse(JSON.stringify())

2) 采用递归方式;

3)函数库lodash

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!