当前位置: 首页 > news >正文

【ES6】 JavaScript 中的Object.assign

Object.assign() 是 JavaScript 中的一个方法,它用于复制源对象的所有可枚举属性到目标对象。该方法会返回目标对象。

这是其基本用法:

let target = Object.assign({}, source);

在这个例子中,source 对象的所有可枚举属性都被复制到了 target 对象。

需要注意的是,Object.assign() 是浅复制(shallow copy),意味着如果源对象中的值是一个对象引用,它只是复制了这个引用,而没有复制引用的对象。

例如:

let obj1 = { a: 1 };
let obj2 = { b: 2 };
let obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); // { a: 1, b: 2 }
console.log(obj3 === obj1); // false
console.log(obj3.a === obj1.a); // true

在这个例子中,尽管 obj3 是从 obj1 和 obj2 复制的,但是 obj3.a 和 obj1.a 是同一个引用,指向同一个对象。因此,如果你需要深度复制,可能需要使用其他方法,例如递归复制或使用库如 Lodash 的 _.cloneDeep() 函数。

http://www.lryc.cn/news/151657.html

相关文章:

  • Redis缓存和持久化
  • OpenCV(六):多通道分离与合并
  • Sql单行数据查询为多行
  • 网络协议分析-http/https/tcp/udp
  • 基于aarch64分析kernel源码 四:printk 内核打印
  • 机器人中的数值优化(六)—— 线搜索最速下降法
  • postman调试注意事项
  • 【C#】泛型
  • CLIP:连接文本-图像
  • MFC网络编程简单例程
  • 云原生简介 (Cloud Native)
  • 【SpringBoot系列】 测试框架之@SpringBootTest的使用
  • 【数据结构与算法篇】手撕八大排序算法之交换排序
  • ArcGIS Pro实践技术应用、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合
  • uniapp 项目实践总结(一)uniapp 框架知识总结
  • Oracle查看与修改隐藏参数
  • 基于MQTT协议的物联网网关实现远程数据采集及监控
  • 服务内部错误: stderr: bash: docker-compose: 未找到命令
  • 自然语言处理(六):词的相似性和类比任务
  • 安防监控视频平台EasyCVR视频汇聚平台定制项目增加AI智能算法详细介绍
  • VB个人邮件处理系统设计与实现
  • 第一章辩证唯物论,考点七思维导图
  • Python入门教程 - 基本函数(四)
  • [PyTorch][chapter 53][Auto Encoder 实战]
  • Springboot常用方法参数注解及示例
  • 基于java+springboot+vue的交流互动系统-lw
  • 使用candump+grep查看CAN报文
  • Vue中el-table表格的拖拽排序
  • 配置环境变量的作用
  • Mysql的page,索引,Explain Type等基本常识