如何在另一个对象中复制Javascript对象属性?

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。