Short-circuit evaluation — это когда JavaScript прекращает вычисление выражения, как только результат становится известен, без проверки оставшихся операндов.
|| (OR)Оператор || возвращает первое truthy значение, которое найдёт. Если все значения falsy, возвращает последнее значение.
Это делает его идеальным для установки значений по умолчанию:
null || "default" // возвращает "default"
undefined || "fallback" // возвращает "fallback"
"hello" || "default" // возвращает "hello" (останавливается сразу)
&& (AND)Оператор && возвращает первое falsy значение, которое найдёт. Если все значения truthy, возвращает последнее значение.
Это обычно используется для безопасного доступа к свойствам:
user && user.name // возвращает undefined если user falsy
// возвращает user.name если user truthy
||:
const name = inputName || "Anonymous";
&&:
isLoggedIn && renderDashboard();
Оба оператора возвращают само значение операнда, а не просто true или false. Именно это делает short-circuit evaluation мощным инструментом для реальных паттернов.
Заметь: Для значений по умолчанию предпочитай оператор nullish coalescing
??, когда ты хочешь использовать фолбэк только дляnullилиundefined, а не для всех falsy значений типа0или"".
Оператор || возвращает первое истинное значение, которое он встречает, а если все операнды ложные, он возвращает последний операнд вместо false.
Новый — ещё не проверен сообществом
Вы