对原始数据类型的复制是值的复制
对Object类型的复制是对引用的复制
浅拷贝是不考虑Object类型不区分值和引用复制的方式
深拷贝是完全复制Object类型,产生新的引用,与原Object不影响
1 | const arr = [1,2,{name:'gss'}] |
Object.assign()能实现单层的深拷贝,多层结构则不行
关于Object.assign(target, …sources)
1 | // 复制对象 |
1 | var arr = [1, 2, 3, 4, { value: 5 }]; |
该方法不能对undefined, symbol, 函数 进行深度拷贝。
1 | function deepCopy (params) { |