函数默认参数,箭头函数,剩余参数

函数默认的参数

function fn(a, b, c=5){
    console.log(a, b, c);
}
fn(1, 2);  // 1 2 5


函数默认参数(混合解构赋值)

function fn({a, b, c=5}){
    console.log(a, b, c);   // 1 2 5
}
fn({
    a:1, b:2
});

function fn({a=1, b=2, c=5} = {}){
    console.log(a, b, c);   // 1 2 5
}
fn();


扩展运算符,reset运算符,剩余运算符(三个点...)

let arr = [1,2,3,4,5];
console.log(...arr);  //1 2 3 4 5

function fn(...args){
    console.log(args); //[ 1, 2, 3, 4 ]
}
fn(1,2,3,4);

function fn(a,b,c){
    console.log(a,b,c);  // 1 2 3
}
fn(...[1,2,3]);

function fn(a, b, ...c){  //剩余参数必须放在最后
    console.log(a,b,c); //1 2 [ 3, 4, 5 ]
}
fn(1,2,3,4,5);


箭头函数

this问题,定义函数所在的对象,不再是运行时所在的对象
箭头函数里面没有arguments, 用...args代替
箭头函数不能当做构造函数