📜  如何为 JavaScript函数设置默认参数值?(1)

📅  最后修改于: 2023-12-03 14:51:43.981000             🧑  作者: Mango

如何为 JavaScript 函数设置默认参数值?

在 JavaScript 中,函数参数可以设置默认值,如果没有传入参数,则会使用默认值。

方式一:使用 || 运算符
function greet(name) {
  name = name || "Guest";
  console.log("Hello, " + name + "!");
}

greet(); // 输出: Hello, Guest!
greet("John"); // 输出: Hello, John!

在上面的例子中,如果 name 没有传入参数,则会将其默认值设置为 "Guest"。

这种方法很容易理解,但是它有一个缺点,如果传入的参数值是 false0""nullundefinedNaN,则会认为参数没有传入进来,从而使用默认值。

方式二:使用 ES6 新特性

ES6 引入了默认参数的语法,使得我们可以直接在函数定义时设置默认值。

function greet(name = "Guest") {
  console.log("Hello, " + name + "!");
}

greet(); // 输出: Hello, Guest!
greet("John"); // 输出: Hello, John!

在使用 ES6 定义函数参数时,我们可以给参数设置默认值,这样在函数调用时如果没有传入参数,则使用默认值。

ES6 的这种语法方式更加优美,并且会正确识别参数值为 false0""nullundefinedNaN 的情况。

使用剩余参数

除了使用以上两种方式之外,我们还可以使用剩余参数来实现默认值的设置。

function greet(greeting, ...names) {
  greeting = greeting || "Hello";
  names = names.length === 0 ? ["Guest"] : names;
  console.log(greeting + ", " + names.join(", ") + "!");
}

greet(); // 输出: Hello, Guest!
greet("Hi"); // 输出: Hi, Guest!
greet("Hi", "John", "Doe"); // 输出: Hi, John, Doe!

在上面的例子中,我们使用了剩余参数来接收所有除了第一个参数以外的参数,然后根据参数个数是否为 0 来设置默认值。

总结

以上三种方式都可以为 JavaScript 函数参数设置默认值,我们可以根据具体的业务场景来选择合适的方式。使用 ES6 的语法方式会更加优美和安全,是建议使用的方式。