适用范围:

作用:

  1. 将实际对象覆盖在默认对象中

1. 场景:

  1. 读取实际配置, 然后覆盖到默认配置
  2. 在已经存在的对象中动态添加新成员、属性
  3. 集合不同的对象, 为逻辑解耦提供条件

梗概:

  1. 覆盖的时候, 相同的key, 优先采用源对象的value
  2. 源对象没有的key, 才会采用被覆盖对象中的value

语法:

Object.assign(被覆盖对象,源对象)

  1. 返回被覆盖对象

说明

  • 顺序同赋值的顺序,都是右给左

实例

let obj = {
    a: 1
}
let newName = 'b'
let value = 2
Object.assign(obj, {
    [newName]: value
})
console.log(obj) // { a: 1, b: 2 }

MDN详细原文:

[ MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign|Object.assign() - JavaScript | MDN]()%20-%20JavaScript%20)