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

Где используются логические операторы && и ||?

Основы языка

Логические операторы `&&` и `||` используют для условий, значений по умолчанию, условного выполнения и рендера, а также защиты от null.

&& (И)

Условное выполнение

isValid && submit(); // submit, если isValid

Защита от null

user && user.name; // name, только если user есть

Условный рендер (React)

{isVisible && <Modal />}
{items.length > 0 && <List items={items} />}

|| (ИЛИ)

Значения по умолчанию

const name = input || 'Гость'; // если input falsy
const config = userConfig || defaultConfig;

Fallback-цепочки

const value = a || b || c || 'default';

Короткое замыкание

Оба не вычисляют правую часть, если результат известен — используют для оптимизации и безопасного вызова:

cache || computeExpensive(); // computeExpensive только если cache falsy

Нюанс

|| срабатывает на все falsy (0, '', false). Для значений по умолчанию только на null/undefined используют ??.

Коротко для собеседования

&& — условное выполнение (isValid && submit()), защита от null (user && user.name), условный рендер ({show && <X/>}). || — значения по умолчанию (input || 'default'), fallback-цепочки. Оба делают короткое замыкание. Для дефолтов только на null/undefined — ??.

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