Ric*_*omi 6

它们被称为rest参数,因为它们在调用函数时捕获了其余的参数。

function multiply(multiplier, ...theArgs) {
  return theArgs.map(function (element) {
    return multiplier * element;
  });
}
Run Code Online (Sandbox Code Playgroud)

来自https://developer.mozilla.org/en-US/docs/JavaScript/Reference/rest_parameters#Browser_compatibility 的示例

...theArgs捕获参数 2+。换句话说,multiplier是第一个参数,theArgs就是休息


min*_*ret 5

此处使用的“rest”一词表示其余参数值的容器,其中可能有任何数量。

它的历史用法可能从Lisp Machine Lisp 开始,明确记录在 1981 年第三版 Lisp Machine Manual 中。在 1974 年的 Maclisp 或 Interlisp 中,没有那种行为或那个名称的“其余参数”。目前 Common Lisp 中的其余参数具有与 Lisp 机器手册中相同的语法。 http://www.lispworks.com/documentation/HyperSpec/Body/03_dac.htm

2012 年 7 月 12 日的 ECMAScript 6 草案中,“其余参数”一词首次与 ECMAScript 相关。很明显,这里的短语应该被理解为 Lisp 先前建立的常用说法。如果这真的很重要,我想我们可以问问 ECMA 39 技术委员会的秘书 Istvan Sebestyen 博士,他的地址是他在 ecma-international.org 上的名字,是否有人愿意用这么多话说出来。