JavaScript 默认参数

x33g5p2x  于2022-05-05 转载在 Java  
字(1.2k)|赞(0)|评价(0)|浏览(261)

在本教程中,您将借助示例了解 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。

JavaScript 中默认参数的工作原理

使用表达式作为默认值

也可以提供表达式作为默认值。

示例 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

相关文章