Оператор логічного присвоєння (Logical assignment operators) поєднує логічні операції (&&, ||, ??) з присвоєнням =. Оператор логічного присвоєння був доданий у специфікації ES2021.
Якщо браузер не підтримує ES2021 тоді буде виникати синтаксична помилка.
Оператор присвоєння | Аналогічно | Призначає лише, якщо a є |
a &&= b | a && (a = b) | Істина |
a ||= b | a || (a = b) | Не істина |
a ??= b | a ?? (a = b) | Нульовий |
Присвоєння виконується тоді коли a є істиною (true).
&&= | аналог |
var a = 1, b=2;
a&&=b;
alert(a);
|
var a=1, b=2;
if( a ) a=b;
alert(a);
|
var a=1, b=2;
a&&(a=b);
alert(a);
|
Присвоєння виконується тоді коли a є не істиною (false).
||= | аналог |
var a = 1, b=2;
a||=b;
alert(a);
|
var a=1, b=2;
a || (a = y);
alert(a);
|
Присвоєння виконується тоді коли a є null або undefined.
??= | аналог |
var a = 1, b=2;
a??=b;
alert(a);
|
var a=1, b=2;
a ?? (a = b);
alert(a);
|