在 ECMAScript 2017 (ES8) 中,函数参数列表中现在可以使用三个点(“...”),这个特性被称作“rest parameter”(剩余参数)。
什么是“rest parameter”?
“rest parameter” 允许在函数参数列表中传入一个不定数量的参数,这些参数会被封装成一个数组,可以在函数体内进行处理。
如何使用“rest parameter”?
在函数参数列表中,使用三个点(“...”)来标识“rest parameter”,后面跟着一个参数名。
下面是一个简单的例子:
-- -------------------- ---- ------- -------- --------------- - --- ------ - -- --- ---- ------ -- -------- - ------ -- ------- - ------ ------- - ------------------ -- -- ---- -- -- ------------------ ---- -- - -------------------- -- - ------------------- -- -
在上面的例子中,我们定义了一个名为 sum
的函数,它的参数列表中包含一个“rest parameter” numbers
。当我们调用 sum
函数时,可以传入任意数量的参数,这些参数会被封装成一个数组 numbers
,我们可以在函数体内对它们进行处理。
“rest parameter” 的应用场景
“rest parameter” 可以用于处理不定数量的参数,例如:
- 计算一组数字的平均值
- 将一组字符串连接成一个字符串
- 过滤出一组数字中的偶数或奇数
下面是一个将一组字符串连接成一个字符串的例子:
function concat(...strings) { return strings.join(''); } console.log(concat('hello', 'world', '!')); // 'helloworld!' console.log(concat('foo', 'bar', 'baz')); // 'foobarbaz'
在上面的例子中,我们定义了一个名为 concat
的函数,它的参数列表中包含一个“rest parameter” strings
。当我们调用 concat
函数时,可以传入任意数量的字符串参数,这些参数会被封装成一个数组 strings
,我们可以使用数组的 join
方法将它们连接成一个字符串。
总结
“rest parameter” 是 ECMAScript 2017 (ES8) 中的一个新特性,它允许在函数参数列表中传入一个不定数量的参数,这些参数会被封装成一个数组,可以在函数体内进行处理。它可以用于处理不定数量的参数,例如计算一组数字的平均值、将一组字符串连接成一个字符串、过滤出一组数字中的偶数或奇数等。
建议在编写函数时,尽可能地使用“rest parameter”,这样可以使代码更加简洁、灵活和易于维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65f2b4682b3ccec22fb4ae14