在本教程中,您将借助示例了解 JavaScript 默认参数。
默认参数的概念是 ES6 版本的 JavaScript 中引入的一个新特性。这允许我们为函数参数提供默认值。我们举个例子,
function sum(x = 3, y = 5) {
// return sum
return x + y;
}
console.log(sum(5, 15)); // 20
console.log(sum(7)); // 12
console.log(sum()); // 8
在上述示例中,x 的默认值为 3,y 的默认值为 5。
- sum(5, 15) - 当两个参数都被传递时,x 取 5,y 取15。
- sum(7) - 将 7 传递给 sum()函数时,x 取 7,y 取默认值 5。
- sum() - 当没有参数传递给 sum()函数时,x 取默认值 3,y 取默认值 5。
使用表达式作为默认值
也可以提供表达式作为默认值。
示例 1:将参数作为默认值传递
function sum(x = 1, y = x, z = x + y) {
console.log( x + y + z );
}
sum(); // 4
在上述程序中,
- x 的默认值为 1
- y 的默认值设置为参数 x
- z 的默认值是 x 和 y 的和
如果引用尚未初始化的参数,则会出现错误。例如,
function sum( x = y, y = 1 ) {
console.log( x + y);
}
sum();
输出
ReferenceError: Cannot access 'y' before initialization
示例 2:将函数值作为默认值传递
// using a function in default value expression
const sum = () => 15;
const calculate = function( x, y = x * sum() ) {
return x + y;
}
const result = calculate(10);
console.log(result); // 160
在上述程序中,
- 10 被传递给 calculate()函数。
- x 变为 10,y 变为 150(sum 函数返回15)。
- 结果将是160。
传递 undefined 值
在 JavaScript 中,当您将 undefined 传递给默认参数函数时,该函数将采用默认值。例如,
function test(x = 1) {
console.log(x);
}
// passing undefined
// takes default value 1
test(undefined); // 1
上一教程 :JS Arrow Function 下一教程 :JS Template Literals
参考文档
[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/default-parameters