JavaScript 中Object的复制方法小结

48 阅读1分钟

使用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'}