Операторы присваивания &&= и ||= в JavaScript
- 30 августа 2025
JavaScript развивается быстрыми темпами, и новые возможности языка часто появляются именно для того, чтобы писать меньше кода и делать его более читаемым. Одной из таких возможностей стали логические операторы присваивания &&= и ||=, которые вошли в стандарт относительно недавно и уже поддерживаются во всех современных браузерах (статус Widely Available в Baseline с 16 марта 2023 года).
До появления этих операторов разработчики писали длинные конструкции с проверками:
let a = true;
if (a) {
a = false;
}Код был понятен, но избыточен. Новые операторы &&= и ||= позволяют объединить проверку и присваивание в одну строку.
Как работает &&=
Оператор &&= означает: «если переменная слева истинна (true), то присвоить ей новое значение». Пример:
let isActive = true;
isActive &&= false;
console.log(isActive); // falseЕсли бы isActive изначально было false, присваивание не произошло бы.
Как работает ||=
Оператор ||= означает: «если переменная слева ложна (false или другое falsy-значение), то присвоить ей новое значение». Пример:
let isLoggedIn = false;
isLoggedIn ||= true;
console.log(isLoggedIn); // trueЕсли переменная уже хранит true, оператор её не изменит.
Практические примеры
1. Установка значения по умолчанию:
let username = '';
username ||= 'Гость';
console.log(username); // 'Гость'2. Деактивация состояния:
let modalOpen = true;
// Закрыть модальное окно
modalOpen &&= false;
console.log(modalOpen); // false3. Работа с флагами:
let hasAccess = null;
// если доступа ещё нет — назначим его
hasAccess ||= true;
console.log(hasAccess); // trueЭти операторы не являются «магией», они просто сокращают уже привычные конструкции. В больших проектах они помогают убрать повторяющийся код и делают логику более наглядной. Однако новичкам важно помнить, что читаемость кода важнее краткости. Если команда ещё не знакома с синтаксисом, лучше использовать более явные конструкции if.
Операторы &&= и ||= — это удобный инструмент для работы с логикой присваивания в JavaScript. Они появились, чтобы упростить код, и теперь являются частью современного синтаксиса, доступного во всех браузерах.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.