首先,基本数据类型不存在深浅拷贝,会直接拷贝值。
(五种基本数据类型:number,string,boolean,null,undefined)
深浅拷贝出现的根源在于引用数据类型,浅拷贝-地址,深拷贝-对象。
(六种引用类型:object,arr,date,regexp,function,err)
浅拷贝
浅拷贝只是增加了一个指针,拷贝出来的对象和原来的对象指向相同的内存地址,两者是互相影响的,其中一个内容改变另一个也会改变。
深拷贝
深拷贝不仅增加了指针,并且复制了一个新的内存地址,用于存放复制出的对象,所以无论怎么改变其中一个对象的内容,都不会对另一个内容产生任何影响,也可以理解为深拷贝出来的对象都是彼此独立的。