📜  JavaScript Object.assign()(1)

📅  最后修改于: 2023-12-03 15:31:38.027000             🧑  作者: Mango

JavaScript Object.assign()

在JavaScript中,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,并将源对象 source 中的属性 c 添加到了目标对象 target 中。

注意事项
  1. Object.assign()方法只能复制可枚举属性。如果一个属性是不可枚举的,那么该属性是不会被复制的。

  2. Object.assign()方法会忽略 nullundefined

  3. 如果源对象中的属性值是一个引用类型的数据(如数组或对象),则复制的是该引用类型数据的地址。

总结

Object.assign()方法是一个非常有用的工具,在 JavaScript 中,它可以让我们将多个源对象的属性合并到一个目标对象中。但是,需要注意的是,它只能复制可枚举属性,并且对于同名属性,后面的源对象将覆盖前面的源对象。同时,需要特别注意引用类型的数据。