深拷贝和浅拷贝详解
文章平均质量分 70
深拷贝和浅拷贝详解
画了五官的猕猴
简简单单 干干净净
展开
-
深拷贝和浅拷贝对比
浅拷贝:对数据进行拷贝之后,修改拷贝之后的数据原数据也会改变,新数据和原数据在栈内存中以指针的形式存储,并且同时指向了堆内存中同一个地址,所以修改拷贝之后的数据原数据也会改变,业务场景中浅拷贝经常会发生数据冲突。解释分析:浅拷贝只会发生在引用类型身上,对于引用类型如果之进行简单的赋值,只会赋值指向堆内存的指针,这种称为浅拷贝。深拷贝:对数据进行拷贝之后,修改拷贝之后的数据原数据不会发生改变,新数据在堆内存中重新开辟出来一个新的地址,两层数据保存的地址是独立的,所以数据互不影响。对引用数据类型进行拷贝。原创 2023-01-31 17:45:19 · 339 阅读 · 1 评论 -
基本数据类型和引用数据类型,以及深拷贝和浅拷贝
数据类型Symbol,.表示独一无二的值,只要是属性名是属于Symbol类型,就都是独一无二的,保证不会与其他属性名产生冲突。改变其中一方的内容,都是在原来的内存上做修改会导致拷贝对象和源对象都发生改变,而深拷贝是开辟一块新的内存地址,将原对象的各个属性逐个复制进去。深拷贝就是无限层级拷贝,是对目标的完全拷贝,不像浅拷贝那样只是复制了一层引用,就连值也都复制了。symbol起因:如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。深拷贝和浅拷贝都是针对的引用数据类型。原创 2023-01-31 11:48:36 · 534 阅读 · 0 评论