javascript深浅拷贝

概念

浅拷贝:新对象与原对象指向同一份内存地址

深拷贝:新对象与原对象完全独立,新对象与原对象指向的是两个内存地址

实现方式

浅拷贝

1.直接赋值

let source_obj = {
    a: 1,
    b: 2
}
let target_obj = source_obj;

2.Object.assign

let source_obj = {
    a: 1,
    b: 2
}
let target_obj = Object.assign({}, source_obj);

3.扩展运算符...

let source_obj = {
    a: 1,
    b: 2
}
let target_obj = {...source_obj};

深拷贝

1.结合json.parse和json.stringify

2.递归

3.使用lodash等第三方库

你可能感兴趣的:(javascript,开发语言,ecmascript)