rest参数的形式为:...变量名

rest参数用于获取函数的多余参数,这样就可以用rest参数代替用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。

rest参数和arguments对象的区别:

  1. rest参数只包含那些没有对应形参的实参;而arguments对象包含了传给函数的所有实参。
  2. arguments对象不是一个真实的数组;而rest参数是真实的Array实例,能够直接使用所有的数组方法。
  3. rest参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。

rest参数使用场景,主要是处理不定数量参数

// arguments变量的写法
function sortNumbers() {return Array.prototype.slice.call(arguments).sort();
}// rest参数的写法
const sortNumbers = (...numbers) => numbers.sort();// 传递给add函数的一组参数值,被整合成了数组values
function add(...values) {let sum = 0;for (var val of values) {sum += val;}return sum;
}
add(1, 2, 3) // 6function f(a, ...b, c) { ... } // 报错(rest参数只能是最后一个参数)复制代码

浅谈ES6中的rest参数相关推荐

  1. php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...

  2. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

  3. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  4. oracle hash join outer,CSS_浅谈Oracle中的三种Join方法,基本概念 Nested loop join: Outer - phpStudy...

    浅谈Oracle中的三种Join方法 基本概念 Nested loop join: Outer table中的每一行与inner table中的相应记录join,类似一个嵌套的循环. Sort mer ...

  5. 浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别

    浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别 标签: caffe深度学习CaffeNet 2016-11-02 16:10 1203人阅读 评论(1) ...

  6. python中 是什么类型_浅谈python中的变量默认是什么类型

    浅谈python中的变量默认是什么类型 1.type(变量名),输出的结果就是变量的类型: 例如 >>> type(6) 2.在Python里面变量在声明时,不需要指定变量的类型,变 ...

  7. 浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  8. linux中sh+$0,浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    摘抄自:ABS_GUIDE 下载地址:http://www.tldp.org/LDP/abs/abs-guide.pdf linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: ...

  9. 浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系

    转自:http://www.cnblogs.com/zhangwei412827/archive/2012/12/14/2816263.html 浅谈javascript中原型(prototype). ...

  10. python的re2和re区别_浅谈Python中re.match()和re.search()的使用及区别

    1.re.match()fvk免费资源网 re.match()的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None.fvk免费资源网 包含的参数如下: ...

最新文章

  1. RTX组织架构刷新出现了问题
  2. 学术交流丨魏子卿院士:北斗坐标系
  3. 4G EPS 的架构模型
  4. C#各种数组直接的数据复制/转换
  5. C#之windows桌面软件第一课:倒时器软件
  6. Java_Notes_基础排序总结与对比
  7. Android studio之编译出现 Error:null value in entry: outputDirectory=null
  8. Transformation HDU - 4578
  9. Test on 09/04/2016
  10. linux 安装maven
  11. 设计模式C++实现(7)——装饰模式
  12. Ubuntu文本检索神器——SearchMonkey
  13. windows下开启 PHP扩展Redis
  14. navicat premium相关应用(将oracle数据库迁移到mysql等)
  15. C# 查农历 阴历 阳历 公历 节假日
  16. 斗鱼 Juno 监控中心的设计与实现
  17. 【已解决】双系统启动选择的界面(GRUB)字体太小,Ubuntu登录用户界面字体太小
  18. 吴伯凡-认知方法论-消极数据的力量
  19. leetcode 179.最大数
  20. HashMap底层源码解析

热门文章

  1. 图注意力网络(GAT) TensorFlow解析
  2. leetcode刷题日记-472. 连接词
  3. 测绘程序设计 C++ CSU
  4. ArcMAP 启动要素构造工具条
  5. EXCEL滚动表格时保持第一行标题不动
  6. IDL代码实现湖泊水体范围遥感提取
  7. 数据库与java操作小有体会
  8. java 枚举嵌套枚举_java – 如何使用枚举与分组和分组层次/嵌套
  9. 【React Native 安卓开发】----(View实战之仿携程)【第三篇】
  10. 插件开发之360 DroidPlugin源码分析(一)初识