js的浅拷贝与深拷贝

js的浅拷贝与深拷贝

涉及知识点:

js中的数据类型(基本类型,引用类型)

js中的存储数据的堆栈相关知识点;

下面仅仅是一个简单的分析,更多的知识点还需深入去了解。


let data={

    id:1,

    arr:[1,2]

}

浅拷贝

仅仅是将引用类型的引用地址复制了一次;


let data2=data1;

深拷贝

1.循环遍历

2.JSON.stringify & JSON.parse


let data3=JSON.parse(JSON.stringify(data1));

more(es6的扩展运算符)


let data4={...data1}

下面是一个es6的扩展运算符操作列子:

image

{...data}:

1.如果data里面的数据是基本类型(没有引用类型),则是深拷贝;

2.如果data的数据包含引用类型,则是一个浅拷贝(对于第一层的基本类型数据来说是深拷贝,第一层进行了一次赋值)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在复杂数据类型(object,Array)中,数据存储在堆内存中,那么对于数据的拷贝就出现了两种情况:拷贝引用和拷...
    楼下的黑猫不太冷阅读 1,211评论 0 0
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,090评论 8 265
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,914评论 1 32
  • 值类型与引用类型 谈浅拷贝与深拷贝之前,我们需要先理清一个概念,即值类型与引用类型。 什么是值类型与引用类型?这要...
    franose阅读 3,759评论 1 8
  • 你知道我住在一方孤岛 蓝天和碧水是我最后的陪伴 拂过我面庞的海风 是你寄给我的信 上面或许有几个句号 与天相连的那...
    许枭阅读 1,315评论 0 0

友情链接更多精彩内容