方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
说道这里先说下什么是“可枚举”属性??
js的对象分为可枚举、不可枚举,
可枚举:可以通过for循环啊,for --- in啊,Object.keys()像这些能返回对象本身具有的,都是可枚举属性
说白了:开发者自定义的属性在一般情况下是可枚举的,而内置特殊对象Math和基本包装类型的原型属性是不可枚举的, 如Object, Array, Number等
解释完可枚举和不可枚举属性之后,理解Object.assign()就变得简单了,举例如下:
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
/*
*target 目标对象
*source 源对象
*返回值是目标对象 target
*如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性
*/
const returnedTarget = Object.assign(target, source);
console.log(target); //{ a: 1, b: 4, c: 5 }
console.log(returnedTarget); //{ a: 1, b: 4, c: 5 }
MDN链接介绍:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign