参考:ES6入门(阮一峰)
一、ES6为函数设置默认参数
ES6之前不能为函数设置默认参数,ES6新增可以为函数设置默认的参数,ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。
function fn(a,b=1){
console.log(a);
console.log(b);
}
fn(1);//1,1
fn(1,2);//1,2
注意点:
- 不能在函数内部重复定义参数,例如:
function fn(a=1){
let a = 2;
console.log(a);
}//报错(const、var也不可以)
- 使用参数默认值时,函数不能有同名参数。
function fn(a,a= 1) {
}//报错
- 可以与解构结合同时使用
function fn({a,b=2}){
console.log(a,b);
}
fn({})//undefined,2
fn({a=1})//1,2
fn({a=1,b=3})//1,3