Логические операторы присваивания объединяют логическую проверку с присваиванием, позволяя писать более лаконичные и читаемые условные присваивания в JavaScript.
&&= — Логическое И с присваиванием: присваивает y переменной x только если x истинно (truthy)||= — Логическое ИЛИ с присваиванием: присваивает y переменной x только если x ложно (falsy)??= — Присваивание при null/undefined: присваивает y переменной x только если x равен null или undefinedx &&= y // эквивалентно: if (x) x = y
x ||= y // эквивалентно: if (!x) x = y
x ??= y // эквивалентно: if (x == null) x = y
||= считает любое ложное значение (0, "", false, null, undefined) поводом для присваивания??= срабатывает только на null или undefined, что безопаснее, когда 0 или "" являются допустимыми значениями&&= используется, когда ты хочешь обновить значение только если оно уже существует и является истинным||= — установка значения по умолчанию, когда переменная может быть ложной??= — установка значения по умолчанию с сохранением намеренных ложных значений вроде 0 или false&&= — обновление свойства только когда оно уже заданоЭти операторы сокращают количество шаблонного кода, заменяя многословные if-проверки или тернарные выражения одной выразительной строкой, улучшая читаемость без потери ясности.
Оператор ??= присвоит новое значение только когда левый операнд является null или undefined, что делает его безопаснее, чем ||=, когда ноль или пустые строки — это допустимые значения в твоём приложении.
Новый — ещё не проверен сообществом
Вы