ECMAScript 2021(ES12)中的新运算符

阅读时长 3 分钟读完

随着 ECMAScript 2021(ES12)的发布,JavaScript 编程语言又有了一些新的功能和特性。其中一项重要的更新是新的运算符,这些运算符可以帮助简化代码,提高开发效率。在本文中,我们将深入探讨这些新的运算符,并提供一些有用的示例代码。

空值合并运算符(Nullish Coalescing Operator)

在 JavaScript 中,当使用逻辑或运算符 || 进行赋值时,如果左侧的操作数为假值(falsenullundefined""0NaN),则返回右侧的操作数。这种行为通常被称为“短路评估”。

例如,以下代码将返回字符串“default”:

在 ECMAScript 2021 中,我们引入了一个新的运算符 ??,称为空值合并运算符。它类似于逻辑或运算符,但仅在左侧的操作数为 nullundefined 时返回右侧的操作数。

例如,以下代码将返回字符串“default”:

这里,只有左侧的操作数 nullundefined 被视为假值,因此只有右侧的操作数 "default" 被返回。

可选链运算符(Optional Chaining Operator)

在访问嵌套对象的属性时,我们通常需要使用多个点符号来访问它们。例如,以下代码访问了嵌套的 foobar 属性:

在 ECMAScript 2021 中,我们引入了一个新的运算符 ?.,称为可选链运算符。它允许我们在访问嵌套对象的属性时避免使用多个点符号。

例如,以下代码使用可选链运算符来访问 foobar 属性:

如果 objobj.fooobj.foo.bar 中的任何一个属性为 nullundefined,则 value 将返回 undefined,而不会引发 TypeError 错误。

逻辑赋值运算符(Logical Assignment Operators)

在 ECMAScript 2021 中,我们还引入了三个新的运算符,称为逻辑赋值运算符。它们是:

  • ||=:如果左侧的操作数为假值,则将右侧的操作数赋值给它。
  • &&=:如果左侧的操作数为真值,则将右侧的操作数赋值给它。
  • ??=:如果左侧的操作数为 nullundefined,则将右侧的操作数赋值给它。

例如,以下代码使用逻辑赋值运算符将默认值赋给变量 foo

这里,如果 foo 的值为假值,则将字符串 "default" 赋值给它。

总结

ECMAScript 2021(ES12)中的新运算符可以帮助简化 JavaScript 代码,并提高开发效率。我们已经介绍了空值合并运算符、可选链运算符和逻辑赋值运算符,并提供了相关的示例代码。在实际开发中,我们建议使用这些新的运算符,以提高代码的可读性和可维护性。

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

纠错
反馈