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

拓展运算符

拓展运算符(Spread Operator)是ES6中引入的新特性,以下是关于它的一些知识点总结:

语法

拓展运算符的语法是三个点(...),它可以将数组或对象展开成多个元素或属性。

数组中的应用

• 数组展开:可以将一个数组展开成一系列独立的元素,用于函数调用、数组字面量等场景。例如,console.log(...[1, 2, 3])会输出1 2 3。

• 数组合并:通过拓展运算符可以方便地合并多个数组。如const arr1 = [1, 2]; const arr2 = [3, 4]; const mergedArr = [...arr1, ...arr2];,mergedArr就是[1, 2, 3, 4]。

• 数组复制:可以利用拓展运算符浅拷贝数组。const arr = [1, 2, 3]; const copiedArr = [...arr];,copiedArr是arr的浅拷贝。

对象中的应用

• 对象属性展开:将一个对象的属性展开到另一个对象中。例如,const obj1 = {a: 1, b: 2}; const obj2 = {...obj1, c: 3};,obj2就是{a: 1, b: 2, c: 3}。

• 对象合并:用于合并多个对象,后面的对象属性会覆盖前面相同属性的对象。如const obj3 = {d: 4}; const mergedObj = {...obj1, ...obj3};,mergedObj为{a: 1, b: 2, d: 4}。

函数参数中的应用

• 可变参数列表:在函数定义中,使用拓展运算符可以将传递进来的参数收集为一个数组。例如,function sum(...nums) { return nums.reduce((acc, num) => acc + num, 0); },可以接受任意数量的参数并求和。

注意事项

• 拓展运算符只能用于可迭代对象,如数组、字符串、Map、Set等,对于普通对象需要使用Object.entries()等方法转换后才能使用。

• 它执行的是浅拷贝,对于对象和数组中的引用类型,拷贝的是引用,而不是实际的值。

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

相关文章:

  • Seata源码—6.Seata AT模式的数据源代理一
  • 计算机科技笔记: 容错计算机设计05 n模冗余系统 TMR 三模冗余系统
  • Spring Boot 与 RabbitMQ 的深度集成实践(一)
  • 黑马程序员2024新版C++笔记 第2章 语句
  • HTML5中的Microdata与历史记录管理详解
  • 上位机知识篇---涂鸦智能云平台
  • 面试中的线程题
  • 济南国网数字化培训班学习笔记-第三组-2-电力通信光缆网认知
  • 前端动画库 Anime.js 的V4 版本,兼容 Vue、React
  • 用 PyTorch 从零实现简易GPT(Transformer 模型)
  • 前端JSON序列化中的隐形杀手:精度丢失全解析与实战解决方案
  • 【通用大模型】Serper API 详解:搜索引擎数据获取的核心工具
  • Spring3+Vue3项目中的知识点——JWT
  • python3GUI--智慧交通分析平台:By:PyQt5+YOLOv8(详细介绍)
  • Linux任务管理与守护进程
  • C#里与嵌入式系统W5500网络通讯(2)
  • EMQX开源版安装指南:Linux/Windows全攻略
  • 【计算机视觉】OpenCV实战项目:GraspPicture 项目深度解析:基于图像分割的抓取点检测系统
  • MySQL 数据库备份与还原
  • Kubernetes控制平面组件:Kubelet详解(四):gRPC 与 CRI gRPC实现
  • javax.servlet.Filter 介绍-笔记
  • 从40秒到11毫秒:TiDB环境下一次SQL深潜优化实战
  • Win 11开始菜单图标变成白色怎么办?
  • 入门OpenTelemetry——应用自动埋点
  • C语言链表的操作
  • 芯片生态链深度解析(二):基础设备篇——人类精密制造的“巅峰对决”
  • C语言指针深入详解(二):const修饰指针、野指针、assert断言、指针的使用和传址调用
  • 【unity游戏开发——编辑器扩展】使用EditorGUI的EditorGUILayout绘制工具类在自定义编辑器窗口绘制各种UI控件
  • Linux基础第三天
  • MoodDrop:打造一款温柔的心情打卡单页应用