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

拓展运算符

拓展运算符(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.xdnf.cn/news/7029.html

相关文章:

  • 海盗王改60帧时有关树木抖动的问题
  • 数字电子技术基础(六十)——使用Digital软件绘制脉冲触发的触发器
  • 《Python星球日记》 第89天:LlamaIndex 与知识图谱
  • 中国与全球电子取证行业市场报告(公开信息版)
  • 生产模式下react项目报错minified react error #130的问题
  • 互联网大厂Java求职面试:AI与大模型应用集成及云原生挑战
  • Java核心API实战:从字符串到多线程全解析
  • symfonos: 2靶场
  • Compose笔记(二十五)--Brush
  • 行业事件 | 中国灾害防御协会雷电灾害分会在京正式成立
  • MySQL开发规范
  • Atcoder Beginner Contest 406
  • 网络安全深度解析:21种常见网站漏洞及防御指南
  • 一文读懂----Docker 常用命令
  • SQL性能分析
  • 23种设计模式考试趋势分析之——适配器(Adapter)设计模式——求三连
  • IDE/IoT/搭建物联网(LiteOS)集成开发环境,基于 VSCode + IoT Link 插件
  • ubuntu18.04编译qt5.14.2源码
  • [特殊字符] SSL/TLS 中的密钥协商流程笔记
  • 进程的调度
  • SpringBoot快速上手
  • CUDA 纹理入门
  • replay下载
  • SOLID 面对象设计的五大基本原则
  • 一种基于条件约束注意力生成对抗网络的水下图像增强模型
  • 二叉树构造:从前序、中序与后序遍历序列入手
  • USB学习【11】STM32 USB初始化过程详解
  • 【AI】Ubuntu 22.04 4060Ti16G 基于SWIFT框架的LoRA微调 模型Qwen3-1.8B 数据集弱智吧 微调笔记
  • 【iOS】探索消息流程
  • 上位机知识篇---流式Web服务器模式的实现