likes
comments
collection
share

前端速递:javascript新特性||= ,&&= , ??=

作者站长头像
站长
· 阅读数 14

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:前端鬼哥