空值合并(Null-ish Coalescing)

在引入空值合并运算符之前,在输入为空的情况下,JavaScript开发人员需要使用OR运算符–||,以回退到默认值。这就会导致:即使出现合法的、但属于虚假值(falsy values),也会被回退到默认值的情况。

function print(val) { 
    return val || 'Missing' 
} 
  
print(undefined) // 'Missing' 
print(null)      // 'Missing' 
  
print(0)         // 'Missing' 
print('')        // 'Missing' 
print(false)     // 'Missing' 
print(NaN)       // 'Missing'

如今,JavaScript推出了null合并运算符–??。它能够保证只有在前面的表达式为null-ish的情况下,才会触发回退。值得注意的是,此处的空值是指null或undefined。

function print(val) { 
    return val ?? 'Missing' 
} 
  
print(undefined) // 'Missing' 
print(null)      // 'Missing' 
  
print(0)         // 0 
print('')        // '' 
print(false)     // false 
print(NaN)       // NaN

如此,您可以确保自己的程序能够接受虚假值作为合法输入,而不会最终被回退。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值