不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2023-07-12 14:40:50  修改时间:2024-05-14 06:07:52  分类:前端/Vue/Node.js  编辑

 


 

在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 值(如 nullfalse0''),则默认参数值不会被应用。
  • 默认参数值是按顺序应用的,因此在有多个参数时,需要确保默认参数值的顺序正确。

使用表达式作为默认值:

我们也可以使用表达式作为参数的默认值,这使得默认值可以是任何有效的 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的函数,接受一个对象参数,并使用解构赋值来获取nameage属性。我们为name参数设置了默认值'John'。当只传递age属性时,name将使用默认值。

 

 

摘自:https://cloud.tencent.com/developer/article/2289826