您的位置 首页 kreess

淺拷貝和深拷貝的區別

一、概念1、淺拷貝淺拷貝隻復制某個對象的引用,而不復制對象本身,新舊對象還是共享同一塊內存2、深拷貝深拷貝會創造一個一摸一樣的對象,新對象和原對象不共享內存,修改新對象不會

一、概念

1、淺拷貝

淺拷貝隻復制某個對象的引用,而不復制對象本身,新舊對象還是共享同一塊內存

2、深拷貝

深拷貝會創造一個一摸一樣的對象,新對象和原對象不共享內存,修改新對象不會改變原對對象。

二、方法

1、淺拷貝

a、Object.assign()

Object.assign()方法可以把任意多個的源對象自身的可枚舉屬性拷貝給目標對象,然後返回目標對象。Object.assign()拷貝的是對象的屬性的引用,而不是對象本身。

2、深拷貝

a、JSON轉換

let newObj = JSON.parse(JSON.stringify(obj));

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部