扩展运算符和剩余操作符之间的区别?

news/2024/7/10 22:50:19 标签: ES6

扩展运算符(Spread Operator)和剩余操作符(Rest Operator)是JavaScript中的两个相关但功能不同的操作符。

1、扩展运算符(Spread Operator):
扩展运算符以三个连续的点(…)表示,用于将可迭代对象(如数组、字符串或类数组对象)展开为独立的元素。它在数组字面量、函数调用、函数参数和对象字面量等场景下使用。
在数组字面量中,它可以用来复制、合并或拆解数组,将一个数组展开成多个元素。
在函数调用中,可以将数组作为参数传递给函数,或者将一个数组与其他参数一起传递给函数。
在对象字面量中,可以使用扩展运算符来创建一个新的对象,将现有对象的属性和值复制到新对象中。
以下是使用扩展运算符的示例:

const array1 = [1, 2, 3];
const array2 = [...array1, 4, 5]; // 复制和合并数组

function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // 将数组元素作为函数参数传递
const obj1 = { foo: 'bar', x: 42 };
const obj2 = { ...obj1, y: 10 }; // 创建新对象并复制属性

2、剩余操作符(Rest Operator):
剩余操作符也以三个连续的点(…)表示,用于捕获函数参数中剩余的参数,并将它们作为数组存储在一个变量中。它只能在函数参数中使用。
当函数的参数个数不确定或不固定时,可以使用剩余操作符来接收剩余的参数并将它们作为数组进行处理。
剩余操作符将剩余的参数收集为一个数组,使得可以轻松处理任意数量的参数。
以下是使用剩余操作符的示例:

function sum(...numbers) {
  let total = 0;
  for (let number of numbers) {
    total += number;
  }
  return total;
}
const result = sum(1, 2, 3, 4, 5); // 使用剩余操作符接收任意数量的参数

总结:
扩展运算符用于展开数组、字符串或对象,将它们分解成独立的元素或属性。
剩余操作符用于收集函数参数中剩余的参数,并将它们作为数组进行处理。


http://www.niftyadmin.cn/n/400026.html

相关文章

MYSQL注入之XPATH语法错误报错扩展

XPATH语法错误: 从mysql5.1.5开始提供两个XML查询和修改的函数,extractvalue()和updatexml()。 Extractvalue()负责在xml文档中按照xpath语法查询节点内容updatexml(&am…

【PCB专题】案例:PCB封装中哪些禁布区我们最常容易忘记增加

USB等直插器件焊接面禁布区 USB器件面那大家都知道有座子有自己的Place_Bound。不同的器件如果Place_Bound重叠的话会报DRC。 但是因为器件是只在一个面上,另一个面是焊接脚,或是另一面不是焊接脚,但PCB封装上为通孔。比如有一些器件从PCB上看是通孔,但PCB Layout人员没见…

汇编语言第二课 认识寄存器和使用编译器编写代码

大家好,我是小鱼,今天由我们给你们讲解汇编语言这门课,然后这是第二课,每周我们是三章更新,一共100章 值得我们一说的就是汇编语言的这些寄存器,以及作用,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的…

uCOSii内存管理

uCOSii内存管理(MEMORY MANAGEMENT) OSMemGet()执行一次,只能申请一个节点,由于节点的数据长度是固定的,所以可用内存的长度是固定的,这一点和malloc()不同。 OSMemPut()执行一次,只释放一个节点,这一点和free()用法差不多,不用关心内存的长度,只要知道内存首地址…

cavity开盖制作的辅助层别

cavity开盖工艺制作的辅助层别 数量:6个

OpenAI的人工智能语音识别模型Whisper详解及使用

1 whisper介绍 拥有ChatGPT语言模型的OpenAI公司,开源了 Whisper 自动语音识别系统,OpenAI 强调 Whisper 的语音识别能力已达到人类水准。 Whisper是一个通用的语音识别模型,它使用了大量的多语言和多任务的监督数据来训练,能够在…

你不知道的Bing聊天机器人:7个惊人的用途!

导读:以下是我总结的有用的方法,可以利用AI聊天机器人让您的生活更轻松。 本文字数:1600,阅读时长大约:10分钟 生成式AI工具可以用非常多的方式使你的日常生活更轻松。 AI聊天机器人在编程、写作等方面表现出色&#…

Linux环境下Mysql8的下载、安装、主从模式搭建

主库部署 下载 下载地址:MySQL :: Download MySQL Community Server (Archived Versions) 文件名称:mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 解压 先解压xz xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 再解压tar tar -xvf mysql-8.0.17-linux-glibc2.12-…