ES12 中的 Logical Assignment Operator 让你的代码更简洁

阅读时长 3 分钟读完

在 ES12 中,新加入了一种逻辑赋值运算符(Logical Assignment Operator),它能够让你的代码更加简洁易读。本文将介绍这个新特性的用法和示例。

什么是 Logical Assignment Operator

Logical Assignment Operator 是一种结合了逻辑运算符和赋值运算符的新型运算符。它可以将逻辑运算和赋值运算合并成一个语句,让代码更加简洁易读。

在 ES12 中,Logical Assignment Operator 有三种形式:

  • ||=:逻辑或赋值运算符
  • &&=:逻辑与赋值运算符
  • ??=:空值合并赋值运算符

逻辑或赋值运算符

逻辑或赋值运算符(||=)的作用是,如果左侧的变量为 false 或者 undefined,就将右侧的值赋给它。

下面是一个示例:

在上面的代码中,变量 a 的值为 undefined,所以 a ||= 1 的结果就是将 1 赋给 a。而变量 b 的值为 2,所以 b ||= 3 的结果是不会改变 b 的值。

逻辑与赋值运算符

逻辑与赋值运算符(&&=)的作用是,如果左侧的变量为 true 或者 null,就将右侧的值赋给它。

下面是一个示例:

在上面的代码中,变量 a 的值为 null,所以 a &&= 1 的结果是不会改变 a 的值。而变量 b 的值为 true,所以 b &&= 3 的结果就是将 3 赋给 b

空值合并赋值运算符

空值合并赋值运算符(??=)的作用是,如果左侧的变量为 null 或者 undefined,就将右侧的值赋给它。

下面是一个示例:

在上面的代码中,变量 a 的值为 undefined,所以 a ??= 1 的结果就是将 1 赋给 a。而变量 b 的值为 null,所以 b ??= 2 的结果是将 2 赋给 b

总结

Logical Assignment Operator 是一个非常实用的新特性,可以让我们的代码更加简洁易读。它的用法也非常简单,只需要将逻辑运算符和赋值运算符合并到一起即可。

但是需要注意的是,Logical Assignment Operator 只能用于 ECMAScript 2021 或更高版本的 JavaScript 中。如果你的项目还在使用旧版本的 JavaScript,那么就无法使用这个新特性。

希望本文对你有所帮助,如果你还有什么问题或者建议,欢迎留言交流!

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

纠错
反馈