ECMAScript 2021 (ES12) 中新增了 nullish coalescing operator,让你的代码更简洁

阅读时长 2 分钟读完

ECMAScript 2021(简称 ES12)是 JavaScript 语言的最新版本,于 2021 年 6 月发布。本文将介绍 ES12 中新增的 nullish 合并运算符,它可以使你的代码更加简洁。

nullish 合并运算符

在开始之前,我们需要先理解以下两个概念:

  • 空值:值为 nullundefined
  • Falsy 值:在布尔上下文中被视为 false 的值。

接着,我们介绍一个经常出现的场景:给变量赋默认值。

在这里,someVar 的值为 falsy 值时,myVar 会被赋为 defaultValue。这种写法看起来非常正常,但是存在潜在的问题。

假设 someVar 的值是 0'',它们都是 falsy 值。这种情况下,myVar 仍然会被赋为 defaultValue 值,这可能并不是我们期望的结果。

在 ES12 中,我们可以使用 nullish 合并运算符来解决这个问题:

如果 someVar 的值是 nullundefined,那么 myVar 会被赋为 defaultValue

示例代码

下面是一些使用 nullish 合并运算符的示例代码:

示例 1

示例 2

总结

ES12 中新增的 nullish 合并运算符可以有效地解决给变量赋默认值时的问题。与 || 运算符不同,nullish 合并运算符只在值为 nullundefined 时才会生效,可以使开发人员编写更加健壮的代码。

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

纠错
反馈