ES12 新增的逻辑赋值操作符(&&=, ||= 和??=)详解

阅读时长 3 分钟读完

随着 ES12 的发布,JavaScript 语言又新增了三个逻辑赋值操作符(logical assignment operators)。它们分别是 &&=||=??=,相信很多前端工程师已经开始使用它们了。那么,这三个操作符都有什么作用呢?又该如何使用它们呢?本文将为大家详细讲解。

1. 逻辑赋值操作符简介

逻辑赋值操作符是一种新的赋值操作符,它可以将逻辑运算符和赋值运算符结合起来,实现一次性地对某个变量进行逻辑运算和赋值操作,这样可以比较方便地写出简洁的代码,并且可以提高代码的可读性和可维护性。

2. &&= 操作符

&&= 操作符表示“与运算赋值”,它的作用是将左侧的值和右侧的值进行逻辑与运算,并将运算结果赋值给左侧的变量。如果左侧的值为真,那么就执行右侧的运算,否则就不执行。

示例代码:

在上面的代码中,左侧的变量 a 的值为真,因此会执行右侧的运算,将 a 赋值为 b 的值,也就是 10

3. ||= 操作符

||= 操作符表示“或运算赋值”,它的作用是将左侧的值和右侧的值进行逻辑或运算,并将运算结果赋值给左侧的变量。如果左侧的值为假,那么就执行右侧的运算,否则就不执行。

示例代码:

在上面的代码中,左侧的变量 a 的值为假,因此会执行右侧的运算,将 a 赋值为 b 的值,也就是 10

4. ??= 操作符

??= 操作符表示“空值运算赋值”,它的作用是将左侧的值和右侧的值进行空值运算,并将运算结果赋值给左侧的变量。如果左侧的值为 nullundefined,那么就执行右侧的运算,否则就不执行。

示例代码:

在上面的代码中,左侧的变量 a 的值为 null,因此会执行右侧的运算,将 a 赋值为 b 的值,也就是 10

5. 逻辑赋值操作符的使用建议

  • 尽量避免在复杂的表达式中使用逻辑赋值操作符,以免降低可读性。

  • 逻辑赋值操作符并不是在所有的场景下都比其它方式更好,需要根据具体的情况来选择是否使用它们。

6. 总结

本文详细讲解了 ES12 新增的逻辑赋值操作符,分别是 &&=||=??=,并通过示例代码讲述了它们的使用方法。逻辑赋值操作符可以帮助我们写出简洁的代码,提高代码的可读性和可维护性,但需要在具体情况下选择是否使用它们。

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

纠错
反馈