介绍一下JavaScript的这一特性:nullish coalescing
发表于2019年12月09日,最后更新于2021年10月12日
JavaScript中的一个强大的运算符是nullish coalescing运算符:?? 。
你是否使用过|| ,在变量为空或未定义的情况下设置一个默认值?
例如,像这样。
const myColor = color || 'red'
那么,nullish coalescing将在这里取代|| 。
const myColor = color ?? 'red'
为什么这个操作符有用呢?
嗯,在使用|| 来提供一个回退值时,有一系列的bug隐藏在表面之下。
简而言之,|| 处理的值是假的。?? 处理的值是空的(因此得名)。
这意味着使用|| ,如果第一个操作数是undefined,null,false,0,NaN 或'' ,第二个操作数将被评估。
?? 另一方面,将这个列表限制为只有 和 。undefined null