js中双问号‘??’

207 阅读1分钟

双问号(??)是一个逻辑运算符,它用于确定一个值是否为 null 或 undefined,如果是,则返回一个默认值,否则返回该值本身。该运算符的语法为

const result = value1 ?? value2;

其中,如果 value1 为 nullundefined,则返回 value2,否则返回 value1。
    这个运算符在处理默认值时非常有用。例如,我们可以使用它来为函数的参数设置默认值:
    function greet(name) { 
        const greeting = `Hello, ${name ?? "friend"}!`; 
        console.log(greeting); 
    } 
        greet();  // Hello, friend!
        greet("Alice"); // Hello, Alice!
        
        如果调用 greet 函数时没有传递参数,
        则 name 的值为 nullundefined,这时 ?? 运算符将返回默认值 "friend"。
        如果传递了参数,则使用传递的参数值。