Логические операторы в JavaScript используются для выполнения логических операций над значениями, в основном
true и false. 🟠Логическое И (`&&`)
Возвращает
true, если оба операнда истинны, иначе falseconsole.log(true && true); // true
console.log(true && false); // false
console.log(5 > 3 && 10 < 20); // true
Если первый операнд
false, второй даже не проверяется (short-circuiting).console.log(false && console.log("Это не выведется"));🟠Логическое ИЛИ (`||`)
Возвращает
true, если хотя бы один из операндов истинный. console.log(true || false); // true
console.log(false || false); // false
console.log(5 > 10 || 3 < 8); // true
Если первый операнд
true, второй даже не проверяется (short-circuiting).console.log(true || console.log("Это не выведется"));🟠Логическое НЕ (`!`)
Инвертирует логическое значение.
console.log(!true); // false
console.log(!false); // true
console.log(!0); // true (так как 0 — это "ложное" значение)
Используется для приведения значений к
true или false.console.log(!!"hello"); // true (не пустая строка → истина)
console.log(!!0); // false (0 → ложь)
🟠Оператор "??" (Nullish Coalescing)
Возвращает первое НЕ
null и НЕ undefined значение. let user = null;
console.log(user ?? "Гость"); // "Гость"
let name = "Иван";
console.log(name ?? "Без имени"); // "Иван"
В отличие от
||, не обрабатывает 0 и "" как ложные значения.console.log(0 || "По умолчанию"); // "По умолчанию"
console.log(0 ?? "По умолчанию"); // 0 (НЕ заменяется)
🟠Тернарный оператор (`? :`)
Позволяет заменить
if...else. let age = 18;
let message = age >= 18 ? "Доступ разрешен" : "Доступ запрещен";
console.log(message); // "Доступ разрешен"
Ставь 👍 и забирай 📚 Базу знаний