JavaScript

論理積代入演算子「&&=」

 編集:2022.08.07 by T.A.

X が である場合にのみ代入します。

X &&= Y
X 式1。
Y 式2。
短絡評価(ショートサーキット)

論理積演算子は左から右に評価され、次のルールを使って短絡評価の可能性があるかどうかテストされます。

(偽値の式) && expr は、偽値の式が短絡評価されます。

短絡評価とは、上記の expr 部分が評価されないことを意味します。したがって、評価された場合の副作用は発生しません。(例えば、expr が関数呼び出しである場合、呼び出しは行われません。)

論理積代入も短絡評価されます。これは、x &&= y が以下と等価であることを意味します:

x && (x = y);

そして、常に代入が行われる以下と等価ではありません:

x = x && y;
let x = 0;
let y = 1;
x &&= 0;	//x=0
x &&= 1;	//x=0
y &&= 1;	//y=1
y &&= 0;	//y=0

テスト