ES6扩展——函数扩展之默认参数
1、函数的默认参数
//函数的默认参数 function add(a, b = 999){ console.log(a,b); //1 999 } add(1);
2、
函数的形参可以设置默认值,默认值可以与前一个参数进行相加等运算,但不能和自身或后一个参数进行运算,否则报错;
//参数b后面不能出现b后面的变量或b本身,会报错 function add1(a, b = 999 + a){ console.log(a, b); //1 1000 } add1(1);
3、将函数的默认值&解构赋值结合起来时:
1、没有默认值且什么都不传,则返回undefined; 2、有默认值且什么都不传,则返回默认值 3、有默认值且传入相应的值,则返回传入的值
4、默认值两边写哪一边都是没有太大的关系的
//将函数的默认值&解构赋值结合起来 //给需要解构赋值的对象一个默认值,即空对象 function People({ name, age = 38} = {}){ console.log(name, age); //undefined 38 }; //直接调用People,什么参数都不传,其中有默认值的就会保留在这个空对象中 People();
//在空对象中给默认值name:1 function People1({name, age = 38} = {name : 1}){ console.log(name,age); //1 38 } People1();
//在调用时给实参name:3 function People2({name,age = 38} = { name :1}){ console.log(name,age); //3 38 } People2({name:3});