Какие логические операторы важны на практике и как их применять?
Основы языка
Важные логические операторы JavaScript: `&&` (И), `||` (ИЛИ), `!` (НЕ), а также `??` (нулевое слияние) и `?.` (опциональная цепочка). Их применяют для условий, значений по умолчанию и безопасного доступа.
Классические операторы
&& (И)
Возвращает первое ложное значение или последнее — используется для условий и «короткого» выполнения:
isValid && submit(); // выполнить, если isValid
const name = user && user.name; // защита от null|| (ИЛИ)
Возвращает первое истинное значение — часто для значений по умолчанию:
const value = input || 'по умолчанию'; // но сработает и на 0, '', false!! (НЕ)
Инвертирует; !! приводит к boolean:
!isEmpty;
Boolean(x) === !!x;Современные операторы
?? (нулевое слияние)
Значение по умолчанию только для null/undefined (в отличие от ||, не срабатывает на 0, '', false):
const count = input ?? 0; // 0 останется 0, а не заменится?. (опциональная цепочка)
Безопасный доступ к вложенным свойствам:
user?.address?.city; // undefined, если что-то null, без ошибки
user?.getName?.();Короткое замыкание (short-circuit)
&& и || не вычисляют правую часть, если результат уже известен.
Коротко для собеседования
Логические операторы: && (И, короткое замыкание, условное выполнение), || (ИЛИ, значение по умолчанию, но срабатывает на все falsy), !/!! (НЕ/приведение). Современные: ?? (default только для null/undefined) и ?. (безопасный доступ). ?? точнее || для значений по умолчанию.