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 次瀏覽

事業開局

透過完成課程獲得認證

開始
廣告
© . All rights reserved.