Для чего нужен &&?
Продвинутые темы
Оператор `&&` (логическое И) нужен для проверки условий, условного выполнения кода, защиты от null и условного рендера в JSX.
Что делает
Возвращает первый ложный операнд или последний, если все истинны:
true && 'a'; // 'a'
0 && 'a'; // 0
'a' && 'b'; // 'b'Применения
Логические условия
if (isValid && isReady) { submit(); }Условное выполнение (короткое замыкание)
isValid && submit(); // submit только если isValidПравая часть не выполнится, если левая ложна.
Защита от null/undefined
user && user.name; // name, только если user есть
data && data.items.length; // безопасный доступУсловный рендер в React
{isVisible && <Modal />}
{items.length > 0 && <List />}
{error && <Error message={error} />}Короткое замыкание
&& не вычисляет правую часть, если левая ложна — оптимизация и безопасность:
cached && expensiveOperation(); // expensive не вызовется, если cached ложноОсторожно в JSX
{count && <X/>} при count === 0 отрендерит 0. Используют {count > 0 && <X/>}, {!!count && <X/>} или тернарный оператор.
Коротко для собеседования
&& нужен для проверки условий (a && b), условного выполнения через короткое замыкание (isValid && submit()), защиты от null (user && user.name) и условного рендера в JSX ({show && <X/>}). Возвращает первый ложный операнд или последний. В JSX осторожно с 0 (лучше count > 0 &&).