Object.assign()方法可用于将对象自身所有属性(仅可枚举)的值从一个或多个源对象复制到目标对象。
例如,要将源对象的所有属性复制到目标对象上,可以使用以下代码-
const targetObj = { a: 1, b: 2 }; const sourceObj = { b: 4, c: 5 }; const returnedTarget = Object.assign(targetObj, sourceObj); console.log(targetObj); console.log(returnedTarget); console.log(returnedTarget === targetObj); console.log(sourceObj);
输出结果
{ a: 1, b: 4, c: 5 } { a: 1, b: 4, c: 5 } true { b: 4, c: 5 }
注意 -
sourceObj保持不变。
returnTarget和targetObj相同。
Object.assign()方法仅将可枚举的和自己的属性从源对象复制到目标对象。它在源上使用[[Get]],在目标上使用[[Set]],因此它将调用getter和setter。