ES11 中的 nullish 运算符:避免与 0 或 "" 的混淆

阅读时长 3 分钟读完

在过去的 JavaScript 版本中,我们使用 || 运算符来处理我们的变量,这样我们就可以检查变量是否存在并进行一些操作:

然而,使用 || 运算符时我们可能会遇到一些问题。例如,如果 something 的值为 0"",我们就会得到默认值 'default',这可能不是我们想要的结果。ES11 中引入了 nullish 运算符来解决这个问题。

什么是 nullish 运算符?

nullish 运算符是 ??,它只会在变量的值为 nullundefined 时返回默认值。如果变量的值为 0"",则不会返回默认值。

例如:

在这个例子中,如果 something 的值是 nullundefinedvalue 将会赋值为 'default'。如果 something 的值是 0""value 将会赋值为 0""

为什么我们需要 nullish 运算符?

在过去,我们通常会使用类似以下代码来确定变量是否有值:

使用 nullish 运算符,我们可以更清晰地表达我们的意图,并使代码更简洁。

另一个使用 nullish 运算符的好处是避免意外出现错误。例如,如果我们写了以下代码:

这时 value 的值将会是 'default'。如果我们不希望 0 被视为没有值,我们必须编写更复杂的代码来覆盖这种情况。使用 nullish 运算符,我们可以非常简单地解决这个问题:

实际应用

nullish 运算符还有许多其他实际应用。例如,我们可以使用它来检查配置文件中是否设置了某个选项:

在上面的例子中,我们可以清楚地看到哪些选项被设置了,哪些选项使用了默认值。

结论

nullish 运算符是 ES11 中的一个新特性,可以帮助我们避免变量为 0"" 时混淆的情况。它提供了一种更简单、更清晰的方式来处理变量的默认值。在编写代码时,我们应该尽可能使用新的特性,以使代码更易读、更易于维护。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f131d86fbf960197373228

纠错
反馈