Где используются логические операторы && и ||?
Основы языка
Логические операторы `&&` и `||` используют для условий, значений по умолчанию, условного выполнения и рендера, а также защиты от 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 — ??.