Ответ
В JavaScript есть три основных логических оператора:
&&(логическое И) - возвращает true, если оба операнда истинны||(логическое ИЛИ) - возвращает true, если хотя бы один операнд истинный!(логическое НЕ) - инвертирует значение операнда
Примеры:
console.log(true && false); // false
console.log(true || false); // true
console.log(!true); // false
Также есть операторы ?? (нулевого слияния) и ?. (опциональной цепочки), которые часто используются для работы с null/undefined.
Ответ 18+ 🔞
Да ты посмотри, какие у нас в JavaScript инструменты для логических плясок с булевыми значениями! Три кита, на которых всё держится, блядь.
Первый — это &&, логическое «И». Этот товарищ возвращает true только в одном случае: если оба операнда, и левый, и правый, — истинны. Как будто два охранника на входе, и оба должны кивнуть. Один скажет «нет» — и всё, пиздец, прохода нет.
console.log(true && false); // false — один охранник уснул, нихуя не вышло
Второй — ||, логическое «ИЛИ». Тут уже попроще, волнение ебать ноль. Возвращает true, если хотя бы один из операндов истинный. Хоть один охранник махнул рукой — проходи, родной.
console.log(true || false); // true — один кивнул, и ладно
Ну и третий, самый философский — !, логическое «НЕ». Этот оператор — такой зануда-инвертор. Что ему дашь, он вывернет наизнанку. Был true — станет false, и наоборот. Чистая магия, ёпта.
console.log(!true); // false — взял правду и обосрал её
А ещё, блядь, есть два крутых пацана, которые часто в одной компании тусуются. ?? (нулевого слияния) и ?. (опциональной цепочки). Их специально вывели, чтобы не ебаться с этими вечными проверками на null и undefined. Один подстраховывает, если значение пустое, а второй аккуратно стучится в свойства, чтобы не словить ошибку, если объекта вдруг нет. Удобно, сука, как домашние тапочки.