ES6 函数默认参数和剩余参数的设置

1.函数的形参默认是 undefined,怎么改成默认其他数据类型的呢?如下

    function multiply(a, b = 1) {
        return a * b;
    }

    multiply(5, 2); // 10
    multiply(5); // 5

2.函数的实参个数不固定,怎么处理呢?如下

function multiply(multiplier, ...theArgs) {
 return theArgs.map(function (element) {
    return multiplier * element;
  });
}

var arr = multiply(2, 1, 2, 3); 
console.log(arr);  // [2, 4, 6]

因为...thisArgs是个数组,所以可以使用任何数组方法(如果是arguments对象的话则需要额外转换成数组才行) 就像这样

function sortRestArgs(...theArgs) {
  var sortedArgs = theArgs.sort();
  return sortedArgs;
}
 
alert(sortRestArgs(5,3,7,1)); // 弹出 1,3,5,7

 

posted @ 2020-08-19 18:17  lzhflzjx  阅读(185)  评论(0编辑  收藏  举报