js深拷贝

新创建的对象为newObj,源对象为oldObj,一行代码搞定:

1、利用JSON(推荐,JS语言自支持,不需要依赖其他工具)

let newObj = JSON.parse(JSON.stringify(oldObj))
2、Lodash(推荐,在某些集成了Loadsh的开发环境代码显得更简洁)

let newObj = _.cloneDeep(oldObj)
3、ES6的对象拓展运算符:…(有坑,慎重使用,参考关于ES6的拓展运算符进行深拷贝)

let newObj = {…oldObj}
3、ES6的对象拓展运算符:Object.assign()(有坑,同上)

let newObj = Object.assign({}, oldObj)

你可能感兴趣的:(js学习)