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

什么是扩展运算符?有什么使用场景?

扩展运算符的概念

扩展运算符(Spread Operator)是 JavaScript 中的一种语法,用三个点(...)表示。它的主要功能是将可迭代对象(如数组、字符串、对象等)展开为独立的元素。

扩展运算符的使用场景

数组操作

  • 合并数组:将多个数组合并为一个新数组。

    const arr1 = [1, 2];
    const arr2 = [3, 4];
    const mergedArr = [...arr1, ...arr2]; // [1, 2, 3, 4]
    

  • 复制数组:创建数组的浅拷贝。

    const original = [1, 2, 3];
    const copy = [...original]; // [1, 2, 3]
    

  • 替代 apply 方法:在函数调用时展开数组作为参数。

    const numbers = [1, 2, 3];
    Math.max(...numbers); // 3
    

对象操作

  • 合并对象:将多个对象的属性合并为一个新对象。

    const obj1 = { a: 1 };
    const obj2 = { b: 2 };
    const mergedObj = { ...obj1, ...obj2 }; // { a: 1, b: 2 }
    

  • 复制对象:创建对象的浅拷贝。

    const originalObj = { name: "Alice" };
    const copyObj = { ...originalObj }; // { name: "Alice" }
    

函数参数

  • 代替 arguments:将剩余参数收集为数组。
    function sum(...args) {return args.reduce((acc, val) => acc + val, 0);
    }
    sum(1, 2, 3); // 6
    

字符串展开

  • 将字符串拆分为字符数组。
    const str = "hello";
    const chars = [...str]; // ["h", "e", "l", "l", "o"]
    

注意事项

  • 扩展运算符只能用于可迭代对象(如数组、对象、字符串)。
  • 对象的扩展运算符是浅拷贝,嵌套对象仍会保留引用。
  • 在函数参数中,扩展运算符必须放在最后。
http://www.xdnf.cn/news/14375.html

相关文章:

  • 强化学习怎么入门?
  • Vue3 跨多个组件方法调用:简洁实用的解决方案
  • 人工智能基础知识笔记十:降维技术
  • cache的学习
  • 扣子开发平台 Agent 开发教程(一)
  • Adoquery 转AdoDataSet
  • LeetCode 1385.两个数组间的距离值
  • Kafka 可靠性保障:消息确认与事务机制(一)
  • vue3 +spring boot文件上传
  • 【Go语言-Day 1】扬帆起航:从零到一,精通 Go 语言环境搭建与首个程序
  • 操作系统核心名词解释--期末简答题快速复习
  • cuda编程笔记(2.5)--简易的应用代码
  • 利用 Python 爬虫获取 Amazon 商品详情:实战指南
  • HarmonyOS 探秘手记:我在 “鸿蒙星球” 的第一天
  • linux 常用工具的静态编译之二
  • 数字孪生赋能智慧城市大脑建设方案PPT(65页)
  • vscode通过ssh连接
  • 理解ES6中的Promise
  • SAP-增删改查
  • 中介者模式Mediator Pattern
  • 鸿蒙智行5月全系交付新车破4.4万辆,销量再创新高
  • FTP 并不适合用在两个计算机之间共享读写文件 为什么
  • 获取全国行政区划数据
  • Sklearn 机器学习 缺失值处理 过滤掉缺失值的行并统计
  • 大模型在垂直领域的应用:金融、医疗、教育等行业的创新案例分析
  • Leetcode 3585. Find Weighted Median Node in Tree
  • day54python打卡
  • 【git】有两个远程仓库时的推送、覆盖、合并问题
  • 数据管道架构设计指南:5大模式与最佳实践
  • Shakker-Labs提出RepText方法,提升FLUX处理文本能力