推荐答案
Logical Assignment Operators (&&=
, ||=
, ??=
) 是 ECMAScript 2021 引入的新特性,用于简化逻辑操作和赋值的组合。它们的作用如下:
&&=
:当左侧的值为真时,将右侧的值赋给左侧的变量。||=
:当左侧的值为假时,将右侧的值赋给左侧的变量。??=
:当左侧的值为null
或undefined
时,将右侧的值赋给左侧的变量。
本题详细解读
&&=
运算符
&&=
是逻辑与赋值运算符。它的作用是在左侧的值为真时,将右侧的值赋给左侧的变量。如果左侧的值为假,则不会进行赋值操作。
let a = 1; let b = 0; a &&= 2; // a 的值为 2,因为 a 为真 b &&= 2; // b 的值为 0,因为 b 为假
||=
运算符
||=
是逻辑或赋值运算符。它的作用是在左侧的值为假时,将右侧的值赋给左侧的变量。如果左侧的值为真,则不会进行赋值操作。
let a = 0; let b = 1; a ||= 2; // a 的值为 2,因为 a 为假 b ||= 2; // b 的值为 1,因为 b 为真
??=
运算符
??=
是空值合并赋值运算符。它的作用是在左侧的值为 null
或 undefined
时,将右侧的值赋给左侧的变量。如果左侧的值不是 null
或 undefined
,则不会进行赋值操作。
let a = null; let b = 0; a ??= 2; // a 的值为 2,因为 a 为 null b ??= 2; // b 的值为 0,因为 b 不是 null 或 undefined
总结
Logical Assignment Operators 提供了一种简洁的方式来处理逻辑操作和赋值的组合,使得代码更加简洁和易读。它们分别适用于不同的场景,能够有效地减少代码量并提高代码的可维护性。