双问号(??)是一个逻辑运算符,它用于确定一个值是否为 null 或 undefined,如果是,则返回一个默认值,否则返回该值本身。该运算符的语法为
const result = value1 ?? value2;
其中,如果 value1 为 null 或 undefined,则返回 value2,否则返回 value1。
这个运算符在处理默认值时非常有用。例如,我们可以使用它来为函数的参数设置默认值:
function greet(name) {
const greeting = `Hello, ${name ?? "friend"}!`;
console.log(greeting);
}
greet(); // Hello, friend!
greet("Alice"); // Hello, Alice!
如果调用 greet 函数时没有传递参数,
则 name 的值为 null 或 undefined,这时 ?? 运算符将返回默认值 "friend"。
如果传递了参数,则使用传递的参数值。