PassFront
  1. PassFront
  2. База знаний
  3. Основы языка

Какие логические операторы важны на практике и как их применять?

Основы языка

Важные логические операторы 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) и ?. (безопасный доступ). ?? точнее || для значений по умолчанию.

Другие вопросы раздела