深拷贝和浅拷贝

1、什么是浅拷贝?

  创建一个对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基础类型,那么拷贝的就是基础类型的值;如果属性是引用属性,那么拷贝的就是内存地址。

  所以,如果其中一个对象修改了某些属性,那么另外一个对象就会收到影响。

2、什么是深拷贝?

  指从内存中完整地拷贝出来一个对象,并在堆内存中为其分配一个新的内存区域来存放

  并且,修改该对象的属性不会影响到原来的对象

3、深拷贝和浅拷贝的实现方式有哪些?

  浅拷贝:Object.assign的方式; 通过对象扩展运算符; 通过数组的slice方法; 通过数组的concat方法

  深拷贝:通过JSON.stringify来序列化对象;手动实现递归的方式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

posted @   felix的小黑屋  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示