Skip to content

js 函数参数有默认值时,如果传递的参数是 undefined 那么会被默认值赋值吗?

Posted on:2024年8月22日 at 10:50

在 JavaScript 中,如果函数参数有默认值,并且调用函数时传递的参数是 undefined,那么该参数会被赋予默认值。这是由于 JavaScript 的参数默认值机制的设计。

默认值机制

当函数参数具有默认值时,默认值机制会在以下情况下生效:

示例

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

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

解释

注意事项

function test(value = "default") {
  console.log(value);
}

test(null); // 输出: null
test(0); // 输出: 0
test(false); // 输出: false
原文转自:https://fe.ecool.fun/topic/9c288de3-0f6e-4a95-a243-d9d01e443b79