深拷贝
真正的创建了一个对象的副本,把这个副本复制给另一个对象。
手写深拷贝代码
function deepClone(target){
let clone = null
if(Array.isArray(target)){
clone = []
}
else if((typeof(target) === 'object') && (target !== null)){
clone ={}
}
else{
return target
}
Object.keys(target).forEach(key=>{
if((Array.isArray(target))||((typeof(target) === 'object') && (target !== null))){
clone[key] = deepClone(target[key])
}
else{
clone[key] = target[key]
}
})
return clone
}