JavaScript 默认参数

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

在本教程中,您将借助示例了解 JavaScript 默认参数。
    默认参数的概念是 ES6 版本的 JavaScript 中引入的一个新特性。这允许我们为函数参数提供默认值。我们举个例子,

  1. function sum(x = 3, y = 5) {
  2. // return sum
  3. return x + y;
  4. }
  5. console.log(sum(5, 15)); // 20
  6. console.log(sum(7)); // 12
  7. 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:将参数作为默认值传递
  1. function sum(x = 1, y = x, z = x + y) {
  2. console.log( x + y + z );
  3. }
  4. sum(); // 4

在上述程序中,

  • x 的默认值为 1
  • y 的默认值设置为参数 x
  • z 的默认值是 x 和 y 的和

如果引用尚未初始化的参数,则会出现错误。例如,

  1. function sum( x = y, y = 1 ) {
  2. console.log( x + y);
  3. }
  4. sum();

输出

  1. ReferenceError: Cannot access 'y' before initialization
示例 2:将函数值作为默认值传递
  1. // using a function in default value expression
  2. const sum = () => 15;
  3. const calculate = function( x, y = x * sum() ) {
  4. return x + y;
  5. }
  6. const result = calculate(10);
  7. console.log(result); // 160

在上述程序中,

  • 10 被传递给 calculate()函数。
  • x 变为 10,y 变为 150(sum 函数返回15)。
  • 结果将是160。
传递 undefined 值

在 JavaScript 中,当您将 undefined 传递给默认参数函数时,该函数将采用默认值。例如,

  1. function test(x = 1) {
  2. console.log(x);
  3. }
  4. // passing undefined
  5. // takes default value 1
  6. 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

相关文章

最新文章

更多