在过去的 JavaScript 版本中,我们使用 ||
运算符来处理我们的变量,这样我们就可以检查变量是否存在并进行一些操作:
--- ----- - --------- -- ----------
然而,使用 ||
运算符时我们可能会遇到一些问题。例如,如果 something
的值为 0
或 ""
,我们就会得到默认值 'default'
,这可能不是我们想要的结果。ES11 中引入了 nullish 运算符来解决这个问题。
什么是 nullish 运算符?
nullish 运算符是 ??
,它只会在变量的值为 null
或 undefined
时返回默认值。如果变量的值为 0
或 ""
,则不会返回默认值。
例如:
--- ----- - --------- -- ----------
在这个例子中,如果 something
的值是 null
或 undefined
,value
将会赋值为 'default'
。如果 something
的值是 0
或 ""
,value
将会赋值为 0
或 ""
。
为什么我们需要 nullish 运算符?
在过去,我们通常会使用类似以下代码来确定变量是否有值:
--- ----- - --------- --- --------- -- --------- --- ---- - --------- - ----------
使用 nullish 运算符,我们可以更清晰地表达我们的意图,并使代码更简洁。
另一个使用 nullish 运算符的好处是避免意外出现错误。例如,如果我们写了以下代码:
--- --------- - -- --- ----- - --------- -- ----------
这时 value
的值将会是 'default'
。如果我们不希望 0
被视为没有值,我们必须编写更复杂的代码来覆盖这种情况。使用 nullish 运算符,我们可以非常简单地解决这个问题:
--- --------- - -- --- ----- - --------- -- ----------
实际应用
nullish 运算符还有许多其他实际应用。例如,我们可以使用它来检查配置文件中是否设置了某个选项:
----- ------- - - ----- -- ------ --- ------ -------- ------ -- ----- ---- - ------------ -- ---- -- ---- --- ---------- ---- ----- ----- - ------------- -- ------- -- ----- --- ----------- -------
在上面的例子中,我们可以清楚地看到哪些选项被设置了,哪些选项使用了默认值。
结论
nullish 运算符是 ES11 中的一个新特性,可以帮助我们避免变量为 0
或 ""
时混淆的情况。它提供了一种更简单、更清晰的方式来处理变量的默认值。在编写代码时,我们应该尽可能使用新的特性,以使代码更易读、更易于维护。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/66f131d86fbf960197373228