在JavaScript中,三元运算符(条件运算符)? :
可以与逻辑或运算符(||
)结合使用,以检查变量是否为 null
或 undefined
。这种结合使用的方式可以帮助我们在一行代码中简洁地处理默认值的情况。
condition ? exprIfTrue : exprIfFalse
,根据条件表达式的真假来选择执行两个表达式中的一个。||
):如果第一个操作数为真(truthy),则返回第一个操作数;否则返回第二个操作数。当需要检查一个变量是否为 null
或 undefined
并为其赋予一个默认值时,可以使用这种组合。
let value = null;
let result = value || 'default value'; // result 将会是 'default value'
value = 'actual value';
result = value || 'default value'; // result 将会是 'actual value'
if
语句。这种用法是一种编程技巧,不属于特定的类型,但它是JavaScript中逻辑运算符和条件运算符的一种常见应用。
使用 ||
运算符设置默认值时,如果变量是 false
、0
、空字符串(''
)、NaN
或 null
/undefined
,都会被当作假值处理,从而返回默认值。这可能不是预期的行为。
||
运算符只关心操作数是否为真值,而不区分 null
/undefined
和其他假值。
使用更精确的检查,例如使用 ??
(空值合并运算符),它只在左侧操作数为 null
或 undefined
时才返回右侧操作数。
let value = null;
let result = value ?? 'default value'; // result 将会是 'default value'
value = 0;
result = value ?? 'default value'; // result 将会是 0,而不是 'default value'
在三元运算符条件语句中使用 ||
运算符来确定是否为 null
或 undefined
是可行的,但需要注意它也会将其他假值视为 null
/undefined
。对于更精确的控制,建议使用 ??
运算符。
领取专属 10元无门槛券
手把手带您无忧上云