JavaScript中Object.assign的使用
{% note info %}
Object.assign()
静态方法将一个或者多个 源对象 中所有可枚举的自有属性复制到 目标对象,并返回修改后的目标对象。
复制对象
合并对象
{% note danger %} 目标对象本身发生了变化
const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };
const obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 },目标对象本身发生了变化
合并具有相同属性的对象
{% note danger %}
属性会被后续参数中具有相同属性的其他对象覆盖。
- 使用场景可以是 form
表单提交参数合并的与源数据有重复的时候可以决定用哪一个
const o1 = { a: 1, b: 1, c: 1 };
const o2 = { b: 2, c: 2 };
const o3 = { c: 3 };
const obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }