使用JavaScript时,经常会对object进行操作,这里简单的总结一下对object的几种复制方法。
方法1. JSON.stringify() && JSON.parse()
如果一个object只是包含JSON字符串,那么可以使用JSON.stringify() 和JSON.parse()的组合进行对象的复制。如下:
const oldObj = {subject: "math", score: 82}
const newObj = JSON.parse(JSON.stringify(oldObj))
// newObj : {subject: "math", score: 82}
方法2. Object.assign()
Object.assign(target, ...sources)
参数- target: 需要修改的目标对象
- sources: 提供属性值的源对象
返回值修改过的target对象
const sourceObj = { name : ' apr'}
const targetObj = Object.assign({}, sourceObj);
// targetObj = { name : ' apr'}
方法3. ES6中的解构用法
在ES6中,可以使用解构...的方式,实现对象的复制。如下:
var sourceObj = { name : ' apr'}
var targetObj = { ...sourceObj }
// targetObj = { name : ' apr'}