js中逻辑运算符?? 的使用

208 阅读1分钟

在JavaScript中,?? 是一个逻辑运算符,称为“nullish coalescing”运算符。它用于处理变量或表达式的空值情况。

?? 运算符的作用是返回其左侧的操作数,如果其左侧的操作数为 nullundefined,则返回其右侧的操作数。换句话说,它用于提供默认值,只有当左侧操作数为 nullundefined 时,才会使用右侧的操作数。

下面是一些使用 ?? 运算符的示例:

javascriptCopy code
const foo = null;
const bar = 'Hello';

const result1 = foo ?? 'Default'; // 'Default',因为 foo 的值为 null
const result2 = bar ?? 'Default'; // 'Hello',因为 bar 的值不为 null

console.log(result1);
console.log(result2);

在上面的示例中,result1 的值为 'Default',因为 foo 的值为 null。而 result2 的值为 'Hello',因为 bar 的值不为 null

?? 运算符可以用于任何表达式,不仅仅是变量。如果左侧的表达式的结果为 nullundefined,则使用右侧的表达式的值作为结果。

javascriptCopy code
const value1 = null;
const value2 = undefined;

const result3 = value1 ?? 'Default'; // 'Default'
const result4 = value2 ?? 0; // 0

console.log(result3);
console.log(result4);

在这个示例中,result3 的值为 'Default',因为 value1 的值为 null。而 result4 的值为 0,因为 value2 的值为 undefined

使用 ?? 运算符可以更简洁地处理变量为空值的情况,提供默认值并避免出现错误。