美文网首页
对象合并object assign(target,object)

对象合并object assign(target,object)

作者: 丰起云啸 | 来源:发表于2019-04-02 10:32 被阅读0次

    1.对象属性追加到目标对象中,如果目标对象有这个属性就会覆盖已有的属性;object.assign(target,object,object...)
    let aa={
    a:"5",
    b:"10"
    }
    let bb={
    a:"15",
    c:"20"
    }
    object assign(aa,bb)
    console.log(aa) // {a:"15",b:"10",c:"20"}

    2.他是浅拷贝,如果目标对象里面的属性是对象将不会改变,属性对象,但是追加的对象有这个属性就会覆盖
    let aa={a:{b:5}};
    let bb={a:{c:6}};
    object.assign(aa,bb);
    console.log(aa.a.c) //6

    3.数组拷贝,只是下标位置替换;
    let zz=[1,2,3,4,5];
    let bb=[6,7,8,9,10];
    object.assign(zz,bb);
    console.log(zz) //6,7,8,9,10

    4.取值函数的处理
    Object.assign只能进行值的复制,如果要复制的值是一个取值函数,那么将求值后再复制。
    const source = {
    get foo() { return 1 }
    };
    const target = {};

    Object.assign(target, source)
    // { foo: 1 }

    相关文章

      网友评论

          本文标题:对象合并object assign(target,object)

          本文链接:https://www.haomeiwen.com/subject/yudwbqtx.html