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