rest參數的使用


ES6引入了rest參數用於獲取函數的多余參數,實際就是替換arguments對象。

1.舉一個小栗子:

function add (...values){

  let sum = 0;

  for (var val of values) {

   sum += val;

  }

  return sum;

}

add(2, 5, 3)  //輸出 10

以上代碼利用rest參數可以向該函數傳入任意數目的參數

2.再舉一個栗子:

// arguments的寫法

const sortNumbers = () => Array.prototype.slice.call(arguments).sort();

// rest參數的寫法

const sortNumbers = (...numbers) => numbers.sort();

3.rest參數中的變量代表一個數組,所以數組特有的方法都可以用於這個變量。

栗子: 

function push(array, ...items) {

  items.forEach(function(item) {

    array.push(item);

   console.log(item);  // 輸出 1    2   3

  })

}

var a = [];

push(a, 1, 2, 3);

 

注意:rest參數之后不能再有其他參數(即只能是最后一個參數),否則報錯

 

栗子:

  function f(a, ...b, c){}  // 報錯

函數的length屬性不包括rest函數

栗子:

   (function(a) {}).length  // 1

   (function(...a) {}).length // 0

   (function(a, ...b) {}).length //1  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM