JavaScript Object.assign() 方法详解及使用示例

Object.assign() 是 JavaScript 中一个用于将一个或多个源对象的属性复制到目标对象的方法。

语法

Object.assign(target, ...sources)

其中,target 是目标对象,sources 是一个或多个源对象。

返回值

返回目标对象。

覆盖机制

如果目标对象中已存在相同的属性,则后面的源对象将覆盖前面的源对象。

示例

示例 1

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const result = Object.assign(target, source);

console.log(target); // { a: 1, b: 4, c: 5 }
console.log(result); // { a: 1, b: 4, c: 5 }

在上面的示例中,源对象 source 中的属性 b 覆盖了目标对象 target 中的属性 b,最终结果的属性 b 的值为 4。

示例 2

const target = { a: 1, b: 2 };
const source1 = { b: 4, c: 5 };
const source2 = { b: 7, d: 9 };
const result = Object.assign(target, source1, source2);

console.log(target); // { a: 1, b: 7, c: 5, d: 9 }
console.log(result); // { a: 1, b: 7, c: 5, d: 9 }

在上面的示例中,源对象 source2 中的属性 b 覆盖了源对象 source1 中的属性 b,最终结果的属性 b 的值为 7。

注意

  1. Object.assign() 是一个浅拷贝,如果源对象的属性值是一个对象或数组,那么目标对象中的该属性值只是一个指向源对象中该属性值的引用,而不是一个独立的对象或数组。
  2. 如果 targetnullundefined,会抛出 TypeError 异常。
JavaScript Object.assign() 方法详解及使用示例

原文地址: https://www.cveoy.top/t/topic/lCpv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录