深拷贝和浅拷贝的区别

60 阅读1分钟

深浅拷贝的区别

浅拷贝只能拷贝一层对象, 深拷贝能解决无限层级对象嵌套问题

手写deepClone

const deepClone = (obj) => {
    if(typeof obj !== "object" || obj === null) return obj
    const newObject = Array.isArray(obj) ? [] : {}
    for(let key in obj){
        const value = obj[key]
        newObject[key] = deepClone(value)
    }
    return newObject
}