ECMAScript 2021 中的 Logical Assignment Operators:让代码更精简易读

阅读时长 3 分钟读完

在 ECMAScript 2021 中,有一种新的操作符被加入到了语言规范里,那就是 Logical Assignment Operators(逻辑赋值运算符)。这些新的操作符使用起来非常方便,可以让代码更加精简易读。在本文中,我们将为您介绍这些新的操作符,并通过示例代码来演示它们的使用。

逻辑复合赋值操作符

在过去,我们可能需要这样写代码:

但是在 ECMAScript 2021 中,我们可以使用逻辑复合赋值操作符 &&=,将上面的代码写成这样:

这样的代码更简洁,同时也更具可读性。逻辑复合赋值操作符可以将两个逻辑表达式(或者说操作数)合并成一个。如果左侧的操作数返回 false,则右侧的操作数将不会被执行。在上面的代码中,只要 a 返回 false,我们就不需要执行 b 的赋值操作了。

逻辑复合赋值操作符也可以用于字符串和数字类型。以下是一些示例:

逻辑赋值操作符

除了逻辑复合赋值操作符,ECMAScript 2021 还引入了逻辑赋值操作符 ||= 和 ??=。它们的作用和逻辑复合赋值操作符类似,但是它们使用的是或和空值合并运算符。如果左侧操作数返回 true(或非 null/undefined),则右侧操作数不会被执行。否则,右侧操作数将被赋值给左侧操作数。

下面是一些使用逻辑赋值操作符的示例:

-- -------------------- ---- -------
--- - - -----
- --- --------
--------------- -- -------
 
--- - - --
- --- --
--------------- -- -
 
--- --
- --- --------
--------------- -- -------

在上面的代码中,第一个示例中,a 是 null,因此它被赋值为 "Hello"。在第二个示例中,b 是 0,这不是一个空值(null/undefined),但它可以被认为是 false,所以它被赋值为 5。最后一个示例中,c 是未定义的变量,因此它被赋值为 "World"。

总结

逻辑复合赋值操作符、逻辑赋值操作符和空值合并运算符一起构成了 ECMAScript 2021 中的新特性。这些新的操作符可以让我们的代码更加简洁易读。在实际开发中,我们可以根据需要选择适当的操作符来优化我们的代码。

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

纠错
反馈