为什么JavaScript中的其他参数称为so

Why are the rest parameters in JavaScript called so?

本文关键字:so 参数 其他 JavaScript 为什么      更新时间:2023-09-26

为什么在JavaScript中称为rest参数?

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

function multiply(multiplier, ...theArgs) {
  return theArgs.map(function (element) {
    return multiplier * element;
  });
}

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

...theArgs捕获参数2+。也就是说,multiplier为第一个参数,theArgs剩余参数

这里的"rest"一词是指存放实参值rest的容器,实参值可以是任意数目。

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

短语"rest parameters"在2012-07-12 ECMAScript 6草案中首次与ECMAScript相关。很明显,这里的短语应该被理解为Lisp先前建立的通用说法。如果这真的很重要,我想我们可以问问ECMA技术委员会39的秘书,Istvan Sebestyen博士,他在ECMA -international.org的地址是他的名字,是否有人愿意用这么多的话来表达。