
在ES6(ECMAScript 2015)中,我们可以为函数参数设置默认值,这使得函数在调用时可以接受一部分或全部参数的默认值。默认参数值的设置提供了更灵活和方便的函数使用方式。
基本语法:
在函数定义时,可以使用赋值运算符(=)为参数设置默认值。
function functionName(parameter = defaultValue) {
// 函数体
}parameter 是函数的参数名。defaultValue 是参数的默认值。示例:
// 默认参数值
function greet(name = 'John') {
console.log(`Hello, ${name}!`);
}
greet(); // 输出 'Hello, John!'
greet('Alice'); // 输出 'Hello, Alice!'在上面的示例中,我们定义了一个名为greet的函数,并为参数name设置了默认值'John'。当函数调用时,如果没有提供name参数的值,则默认为'John'。
注意事项:
undefined时生效。如果传递了其他 falsy 值(如 null、false、0 或 ''),则默认参数值不会被应用。使用表达式作为默认值:
我们也可以使用表达式作为参数的默认值,这使得默认值可以是任何有效的 JavaScript 表达式。
示例:
// 使用表达式作为默认值
function multiply(a, b = 2 * a) {
return a * b;
}
console.log(multiply(5)); // 输出 5 * 10 = 50
console.log(multiply(3, 4)); // 输出 3 * 4 = 12在上面的示例中,我们定义了一个名为multiply的函数,其中参数b的默认值是2 * a,即b的值是a的两倍。当只传递a的值时,b将根据默认值计算。
默认参数值和解构赋值:
在使用解构赋值时,我们也可以为解构的对象参数设置默认值。
示例:
// 默认参数值和解构赋值
function greet({ name = 'John', age }) {
console.log(`Hello, ${name}! You are ${age} years old.`);
}
greet({ age: 30 }); // 输出 'Hello, John! You are 30 years old.'
greet({ name: 'Alice', age: 25 }); // 输出 'Hello, Alice! You are 25 years old.'在上面的示例中,我们定义了一个名为greet的函数,接受一个对象参数,并使用解构赋值来获取name和age属性。我们为name参数设置了默认值'John'。当只传递age属性时,name将使用默认值。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。