??
与 ||
是 JavaScript 中的两种逻辑运算符,它们用于处理条件语句和变量赋值。
||
运算符表示“或”,如果第一个操作数为真,则返回第一个操作数;如果第一个操作数为假,则返回第二个操作数。例如:
let a = false || true; // a 的值为 true let b = '' || 'hello'; // b 的值为 'hello'
??
运算符表示“空值合并”,它在第一个操作数不是 null 或 undefined 时返回该操作数,否则返回第二个操作数。例如:
let a = null ?? 'hello'; // a 的值为 'hello' let b = undefined ?? 'world'; // b 的值为 'world' let c = 'hello' ?? 'world'; // c 的值为 'hello'
可以看到,??
运算符在判断值为 null 或 undefined 时更为准确。
需要注意的是,||
和 ??
的优先级较低,因此在表达式中使用时需要注意加上括号,以确保运算的顺序正确。