論理積代入 (x &&= y
) 演算子は、x
が truthy である場合にのみ代入します。
構文
expr1 &&= expr2
説明
短絡評価(ショートサーキット)
論理積演算子は左から右に評価され、次のルールを使って短絡評価の可能性があるかどうかテストされます。
(偽値の式) && expr
は、偽値の式が短絡評価されます。
短絡評価とは、上記の expr
部分が評価されないことを意味します。したがって、評価された場合の副作用は発生しません。(例えば、expr
が関数呼び出しである場合、呼び出しは行われません。)
論理積代入も短絡評価されます。これは、x &&= y
が以下と等価であることを意味します。
x && (x = y);
そして、常に代入が行われる以下と等価ではありません。
x = x && y;
例
論理積代入演算子の使用
let x = 0;
let y = 1;
x &&= 0; // 0
x &&= 1; // 0
y &&= 1; // 1
y &&= 0; // 0
仕様
ブラウザの互換性
BCD tables only load in the browser