javascript 中 OBJECT.assign() 有什么用?

javascriptfront end technologyobject oriented programming

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 没有变化。

  • returnedTarget 和 targetObj 相同。

  • Object.assign() 方法仅将可枚举和自身属性从源对象复制到目标对象。它在源上使用 [[Get]],在目标上使用 [[Set]],因此它将调用 getter 和 setter。


相关文章