ES6 rest参数

2018-11-24  本文已影响0人  OnePiece索隆

REST参数(剩余参数)

MDN:剩余参数语法允许我们将一个不定数量的参数表示为一个数组。
剩余参数必须是函数参数的最后一个参数,它和 arguments对象之间区别如下:

使用场景

es5实现:
function sortArguments() {
  var args = Array.prototype.slice.call(arguments); //需要先转成数组
  var sortedArgs = args.sort();
  return sortedArgs;
}
console.log(sortArguments(5, 3, 7, 1)); // shows 1, 3, 5, 7

es6实现:
function sortRestArgs(...theArgs) {
  var sortedArgs = theArgs.sort();
  return sortedArgs;
}
 
console.log(sortRestArgs(5,3,7,1)); // shows 1, 3, 5, 7

获取一个不定长度参数的长度

function fun1(...theArgs) {
  alert(theArgs.length);
}
 
fun1();  // 弹出 "0", 因为theArgs没有元素
fun1(5); // 弹出 "1", 因为theArgs只有一个元素
fun1(5, 6, 7); // 弹出 "3", 因为theArgs有三个元素
上一篇下一篇

猜你喜欢

热点阅读