前端速递:javascript新特性||= ,&&= , ??=
Logical Assignment Operators
(逻辑赋值运算符)是 ECMAScript
提案中的一个新特性,它们结合了逻辑运算符和赋值运算符,用于简化变量的赋值操作。以下是逻辑赋值运算符的使用示例和说明:
1.||= (OR assignment)
:如果变量为空或者 false 值,则将指定的值赋给变量。
let x = 0;
x ||= 5;
console.log(x); // 输出: 5
在上面的示例中,变量 x 的初始值为 0。通过 x ||= 5,如果 x 是空或者 falsy 值(0 是 falsy 值),则将 5 赋给 x。
2.&&= (AND assignment)
:如果变量为空或者 false 值,则将指定的值赋给变量。
let y = 10;
y &&= 7;
console.log(y); // 输出: 7
在上面的示例中,变量 y 的初始值为 10。通过 y &&= 7,如果 y 是空或者 false 值,则将 7 赋给 y。
??= (nullish coalescing assignment)
:如果变量为 null 或者 undefined,则将指定的值赋给变量。
let z = null;
z ??= "default";
console.log(z); // 输出: "default"
在上面的示例中,变量 z 的初始值为 null。通过 z ??= "default",如果 z 是 null 或者 undefined,则将 "default" 赋给 z。
by:前端鬼哥
转载自:https://juejin.cn/post/7254123931246690360