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

【随笔四】JavaScript 中的 rest

某次开发中,看到项目代码中用到了 rest 这个参数,但又没看到在哪里定义或者传入,当时没太理解它的意思,查了下资料才恍然大悟。含义也很简单,写个随笔记录下。


关键字 rest 的用法(剩余参数)

在 JavaScript 中,函数可以接收任意数量的参数。在大部分情况下,我们只处理函数的固定数量的参数,但有时候,我们无法预先知道函数需要接收多少个参数,这个时候就可以使用 rest (或者也可以使用 args)。

rest 参数是一种特殊类型的参数,它允许我们在函数声明中使用省略号(…)来表示函数可以接收任意数量的参数。

这些参数会被接收到一个数组中,同时,我们可以在该函数体中使用该数组。

语法如下:

function handleSum(...rest) {// ...rest 代表所有传入的参数console.log(rest)
}
handleSum(1, 2, 3)  // [1, 2, 3]function handleSum(num, ...rest) {// ...rest 代表所有剩余参数console.log(rest) //  [2, 3, 4]console.log(arguments)  // [1, 2, 3, 4]
}
handleSum(1, 2, 3, 4)  // [2, 3, 4]

注意:

rest 要与 arguments 做好区分。

rest 关键字 指的是剩余参数

arguments 指的是全部参数

其他用法

rest 关键字不止可以用在 函数 的传参中,也可以用于变量中

  • 数组的使用方式
const arr = [1, 2, 3, 4, 5]const [a, b, ...rest] = arrconsole.log(a)  // 1
console.log(b)  // 2
console.log(rest)  // [3, 4, 5]
  • 对象的使用方式
const obj = {name: '张三',age: 18,sex: '未知'
}const { name, ...rest } = obj
console.log(name)  // 张三
console.log(rest)  // { age: 18, sex: '未知'}

再次注意:

  • rest 语法只能写在最后面,比较人家的定位就是剩余的未知参数,再在人家屁股后面跟一个已知的参数,太打人家脸了。
  • rest 关键字的用法虽然是这个,但我们可以使用它的隐藏功能:比如可以将字符串转数组、对象复制、数组复制等功能。

当我们了解完这些后,在看项目中的代码就洞若观火,一目了然。

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

相关文章:

  • maven作用讲解---以及怎么配置阿里的maven镜像
  • NXP公司LPC21xx+热敏电阻实现温度检测
  • Springboot信息泄露以及heapdump的利用
  • 淘宝天猫店铺新品如何运营?
  • Linux-给普通用户sudo权限
  • 小米13 Ultra:携光前行,追求每一束光的精确还原
  • 全志 Orange Pi相关网站集
  • js+css实现简单的弹框动画
  • 真题详解(UML图)-软件设计(五十五)
  • 基于html+css的图展示42
  • MyBatis系列-入门篇
  • 科学防雷接地和雷电防护方案
  • SpringMVC-RESTful架构风格
  • consistency-starter
  • 【Json】Spring Boot整合Json与Json数组
  • Adobe Photoshop 软件下载
  • [ES6]解构与赋值
  • 2023年3月 青少年软件编程(C语言) 等级考试试卷(五级)
  • Unity之ShaderGraph入门
  • Spring-学习修改尚硅谷最新教程笔记
  • CPU寄存器的分类与Intel 8086 的eax,ebx,ecx,edx
  • 如何快速上手Vue框架?
  • Android进阶宝典—App响应时间优化
  • 100天涨薪4k,从功能测试到自动化测试,我整理的3000字超全学习指南
  • Pytorch剪枝api测试和结果
  • 微服务下网关聚合Swagger文档、starter统一配置Swagger
  • 剑指 Offer第二版:机器人的运动范围、正则表达式匹配、表示数值的字符串
  • Delaunay三角网生成算法
  • hashcode是什么?有什么作用?
  • 【人体姿态估计】(一)原理介绍