Оператор логічного присвоєння (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);
|