在ES6中,函数参数默认值是一个非常有用的特性,它允许你在定义函数时为参数指定一个默认值。如果在调用函数时没有提供相应的参数值,那么函数将使用默认值。
1. 形参初始值
具有默认值的参数,一般位置要靠后。这是一个潜规则,以便在调用函数时,可以省略后面的参数,而只传递前面的参数。
function add(a, b, c = 10) {
return a + b + c;
}
let result = add(1, 2);
console.log(result); // 输出: 13
在这个例子中,c
参数的默认值是 10
。当调用 add
函数时,如果只传递了 a
和 b
参数,那么 c
将使用默认值 10
。
2. 与解构赋值结合
函数参数默认值可以与解构赋值结合使用,这在处理对象参数时非常有用。
function connect({ host = "127.0.0.1", username, password, port }) {
console.log(host);
console.log(username);
console.log(password);
console.log(port);
}
connect({
host: 'atguigu.com',
username: 'root',
password: 'root',
port: 3306
});
在这个例子中,connect
函数接受一个对象参数,并使用解构赋值来提取对象中的属性。如果对象中没有提供 host
属性,那么将使用默认值 "127.0.0.1"
。
通过这种方式,你可以在调用函数时只传递部分属性,而其他属性将使用默认值。