深拷贝与浅拷贝

文章探讨了JavaScript中深浅拷贝的概念,强调它们对引用类型的影响,指出浅拷贝只复制一层,而深拷贝则进行无限层级的复制,以确保对象独立。作者提到了lodash库中的clone和cloneDeep方法作为可靠的拷贝实现,并提议使用这些方法进行测试以验证理论。
摘要由CSDN通过智能技术生成

浅拷贝和深拷贝都是创建一份数据的拷贝。

JavaScript分为基本数据类型和复杂数据类型,对于基本类型的拷贝,并没有深浅拷贝的区别,讨论的深浅拷贝都只针对复杂数据类型。

浅拷贝和深拷贝都复制了值和地址,都是为了解决引用类型赋值后互相影响的问题。

但是浅拷贝只进行一层复制,深层次的引用类型还是共享内存地址,原对象和拷贝对象还是会互相影响。

深拷贝就是无限层级拷贝,深拷贝后的原对象不会和拷贝对象互相影响。

网络上的很多文章觉得引用类型赋值就是浅拷贝,误导了很多人,但 lodash 中的浅拷贝和深拷贝总不会错吧,这么多项目都在用。

为了验证上述理论的正确性,我们就用 lodash 来测试一下,lodash 中浅拷贝方法为 clone,深拷贝方法为 cloneDeep。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值