博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 浅拷贝和深拷贝
阅读量:7064 次
发布时间:2019-06-28

本文共 678 字,大约阅读时间需要 2 分钟。

浅拷贝

* 注意浅拷贝的拷贝对象的格式

  • Object.assign
let test = {id: 1};let copy = Object.assign({}, test);test.id = 2;console.log(copy.id); // 1复制代码
  • 展开运算符{…}
let test = {id: 1};let copy = {...test};test.id = 2;console.log(copy.id); // 1复制代码

深拷贝

  • JSON.parse(JSON.stringify(object))
  • 此方法适用于该格式 let test = {id:1,name:{first_name:2,last_name:3}}
  • 无法拷贝属性值undefined, 无法拷贝属性值函数,无法拷贝循环引用对象-直接报错。
let test = {    id: 1,      user_name: undefined,    addr: function() {},    name: {        first_name: 'simida',        last_name: 'gg'    }}let copy = JSON.parse(JSON.stringify(test))console.log(copy) // {id: 1,name: {first_name: 'simida',last_name: 'gg'}}复制代码

最后,浅拷贝,深拷贝都可以直接用lodash来处理

  • 具体操作请参考Lodash 和 google

转载地址:http://kyill.baihongyu.com/

你可能感兴趣的文章
angular2开源库收集
查看>>
ArchSummit深圳APM专场总结:性能监控与调优实践干货分享
查看>>
Vue性能优化:如何实现延迟加载和代码拆分?
查看>>
据Progress调查:2018年,70%的客户在使用NoSQL
查看>>
微服务架构适用场景分析
查看>>
OpsRamp推出以服务为中心的AIOps和云监控功能
查看>>
MongoDB又不加密,8.09亿条个人详细记录泄露
查看>>
《引领转型》访谈录
查看>>
用Git虚拟文件系统来解决大型存储问题
查看>>
一行代码迁移TensorFlow 1.x到TensorFlow 2.0
查看>>
明文存密码成惯例?Facebook 6 亿用户密码可被 2 万员工直接看
查看>>
我看到的前端
查看>>
火掌柜iOS端基于CocoaPods的组件二进制化实践
查看>>
强化学习遭遇瓶颈!分层RL将成为突破的希望
查看>>
华泰证券:如何自研高效可靠的交易系统通信框架?
查看>>
Grafana 6.0正式发布!新增查询工作流,全新独立Gauge面板
查看>>
精益企业中架构师的角色
查看>>
区块链技术精华:四十种智能合约支持平台(四)
查看>>
美团点评CTO罗道锋确认离职,新东家是快手?
查看>>
Kubernetes首爆严重安全漏洞,请升级你的Kubernetes
查看>>