美文网首页
对象合并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