JavaScript的特性:nullish coalescing的介绍

68 阅读1分钟

介绍一下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