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>

更新于: 16-06-2020

261 次浏览

事业开局

通过完成课程获得认证

开始
广告