JavaScript中Object.assign的使用

Object.assign() 静态方法将一个或者多个 源对象 中所有可枚举自有属性复制到 _目标对象_,并返回修改后的目标对象。

复制对象

1
2
3
const obj = { a: 1 };
const copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }

合并对象

目标对象本身发生了变化

1
2
3
4
5
6
7
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 },目标对象本身发生了变化

合并具有相同属性的对象

属性会被后续参数中具有相同属性的其他对象覆盖。

  • 使用场景可以是 form 表单提交参数合并的与源数据有重复的时候可以决定用哪一个
1
2
3
4
5
6
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 }

参考


JavaScript中Object.assign的使用
http://xiaodongxier.github.io/pages/7554e426.html
作者
WangYongJie
发布于
2023年8月26日
更新于
2023年9月9日
许可协议