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

语法:

Object.assign(target, ...sources)

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

返回值: 返回目标对象。

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

示例:

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。

如果源对象中有多个相同的属性,则后面的会覆盖前面的。

示例:

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. 如果target为null或undefined,会抛出TypeError异常。
Object.assign();讲解

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

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