JavaScript 中 rest 参数和 spread 运算符的用法?
Rest 参数
使用 rest 参数,可以将多个参数表示为一个数组。ES6 引入了 rest 参数,目的是减轻开发人员的工作负担。对于 arguments 对象,rest 参数用三个点表示 …,并位于参数的前面。
让我们看看以下代码片段,用它来定义 rest 参数 −
<html> <body> <script> function addition(…numbers) { var res = 0; numbers.forEach(function (number) { res += number; }); return res; } document.write(addition(3)); document.write(addition(9,10,11,12,13)); </script> </body> </html>
Spread 运算符
Spread 运算符可以将数组拆分为单个参数。这些参数是作为单独参数的函数。
语法
语法如下 −
function myfunction(...iterableObj);
下面是一个用 arguments 来展示 Spread 语法的示例
function multiply(x, y) { return x*y; } var myArgs = [50, 100]; console.log(multiply(…myArgs));
示例
这里有另一个示例
<html> <body> <script> var a, b, c, d, e, f, g; a = [10,20]; b = "rank"; c = [30, "points"]; d = "run" // concat method. e = a.concat(b, c, d); // spread operator f = [...a, b, ...c, d]; document.write(e); document.write("<br>"+f); </script> </body> </html>
广告