ES9(ECMAScript 2018)是 JavaScript 的最新版本,其中引入了一些新的操作符符合赋值操作。这些操作符可以简化代码,提高开发效率。在本文中,我们将详细介绍这些新操作符,并提供示例代码和使用指南。
什么是符合赋值操作符?
符合赋值操作符是一种简化赋值操作的方式。它们结合了赋值操作符和算术、位移、逻辑等操作符。例如,+=
运算符可以将右侧的值加到左侧的变量中,并将结果赋值给左侧的变量。它等同于 x = x + y
。
在 ES9 中,引入了一些新的符合赋值操作符,包括 **=
, ??=
, ||=
, &&=
, |=
, ^=
, 和 &=
。下面我们将逐一介绍它们的用法。
**=
操作符
**=
操作符可以将左侧的值乘以右侧的值的幂,并将结果赋值给左侧的变量。例如:
let x = 2; x **= 3; // 等同于 x = x ** 3; console.log(x); // 输出 8
??=
操作符
??=
操作符可以将左侧的值设置为右侧的值,但仅当左侧的值为 null
或 undefined
时。例如:
let x = null; x ??= 3; // 等同于 x = x ?? 3; console.log(x); // 输出 3 let y = 5; y ??= 3; console.log(y); // 输出 5
||=
操作符
||=
操作符可以将左侧的值设置为右侧的值,但仅当左侧的值为假值(false
, 0
, ""
, null
, undefined
, 或 NaN
)时。例如:
let x = false; x ||= true; // 等同于 x = x || true; console.log(x); // 输出 true let y = 0; y ||= 3; console.log(y); // 输出 3
&&=
操作符
&&=
操作符可以将左侧的值设置为右侧的值,但仅当左侧的值为真值(非假值)时。例如:
let x = true; x &&= false; // 等同于 x = x && false; console.log(x); // 输出 false let y = "hello"; y &&= "world"; console.log(y); // 输出 "world"
|=
、^=
、和 &=
操作符
|=
、^=
、和 &=
操作符分别表示按位或、按位异或、和按位与操作符的符合赋值形式。例如:
// javascriptcn.com 代码示例 let x = 3; // 二进制表示为 0011 x |= 2; // 等同于 x = x | 2; 二进制表示为 0011 | 0010 = 0011,即 3 console.log(x); // 输出 3 let y = 5; // 二进制表示为 0101 y ^= 2; // 等同于 y = y ^ 2; 二进制表示为 0101 ^ 0010 = 0111,即 7 console.log(y); // 输出 7 let z = 6; // 二进制表示为 0110 z &= 3; // 等同于 z = z & 3; 二进制表示为 0110 & 0011 = 0010,即 2 console.log(z); // 输出 2
总结
ES9 中的新操作符符合赋值操作可以简化代码,提高开发效率。我们介绍了 **=
、??=
、||=
、&&=
、|=
、^=
、和 &=
操作符的用法,并提供了示例代码和使用指南。当你编写 JavaScript 代码时,记得考虑使用这些新操作符来简化代码,提高效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65689cc8d2f5e1655d152d55