浅拷贝
- 对对象属性值的精确拷贝
- 属性值如果是基本数据类型,重新赋值一份
- 属性值如果是引用数据类型,赋值的是内存地址
- 两个对象的引用类型值共用一块堆内存,相互影响
// 手写浅拷贝function Clone(obj) { const newObj = {} for(const key in obj) { newObj[key] = obj[key] } return newObj}深拷贝
- 对对象属性值的精确拷贝
- 属性值如果是基本数据类型,则重新赋值一份
- 属性值如果是引用类型,则重新开辟一块堆内存存放引用内存值
- 两个对象互不影响
// 手写深拷贝function deepClone(obj) { const newObj = {} for(const key in obj) { if (typeof obj[key] === 'object') { newObj[key] = deepClone(obj[key]) } else { newObj[key] = obj[key] } } return newObj}