定义:
用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。
语法:
object.assign(target,. . .sources);
target: 目标对象。
sources: 源对象。
返回值:目标对象。
描述:
如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的目标对象属性。
Object.assign
方法只会拷贝源对象自身的并且可枚举的属性到目标对象。
注意,Object.assign
不会跳过那些值为 null
或 undefined
的源对象。
继承属性和不可枚举属性是不能拷贝的。
Demo:
const target = {a:1,b:2};
const source = {b:4,c:5};
const returnedTarget = object.assign(target,source);
console.log(target);
console.log(returnedTarget);
合并对象:
const o1 = {a:1};
const o2 = {b:2};
const o3 = {c:3};
const obj = object.assign(o1,o2,o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变。