Логические значения
Вы уже умеете резать и искать в строках. Программе ещё нужен ясный ответ да или нет — форма готова? нашлось совпадение? Этот тип — логическое значение: только true или false. Здесь изучаем само значение; полный if будет позже.
Что такое логическое значение в JavaScript?
Логическое значение — это да/нет. Два ключевых слова: true и false — без кавычек. typeof true даёт "boolean". Можно хранить флаг (let ready = true), получить логическое из сравнения (age >= 18) или преобразовать через Boolean(value). Строки вроде "true" остаются текстом, не логическими. Короткий список falsy (значения, которые при преобразовании дают false) спасает от сюрпризов с 0, "", null и undefined.
Набор логических идей
📊 Повседневные логические идеи для старта
| Идея | Пример | Результат / заметка |
|---|---|---|
| Буквальное да | true |
ключевое слово, не строка |
| Буквальное нет | false |
ключевое слово, не строка |
typeof |
typeof false |
"boolean" |
| Сравнение | 5 > 3 |
true |
| Преобразование | Boolean(0) |
false (ноль часто falsy) |
| Текст → логическое | Boolean("hi") |
true (непустая строка) |
Пишите true и false
Используйте ключевые слова true и false. Выведите значение и typeof, чтобы увидеть метку "boolean".
let ready = true;
let done = false;
console.log(ready);
console.log(done);
console.log(typeof ready);
console.log(typeof done);
Сравнения возвращают логическое значение
Операторы вроде >, <, >=, <=, === и !== отвечают true или false. Не нужно каждый раз вручную придумывать логическое — сравнение его создаёт.
console.log(10 > 5);
console.log(2 === 2);
console.log(2 === "2");
console.log(7 < 3);
Преобразование через Boolean()
Boolean(value) превращает другое значение в true или false. «Пустые» значения обычно дают false; многие обычные — true.
console.log(Boolean(1));
console.log(Boolean(0));
console.log(Boolean("hello"));
console.log(Boolean(""));
Короткая карта falsy
Эти значения становятся false при Boolean() (или позже в условии): false, 0, "", null, undefined и NaN. Почти всё остальное, что новичок пробует первым, — truthy, включая "0" и "false" как непустые строки.
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
Truthy-значения, которые удивляют новичков
Непустые строки truthy — даже "0" и "false". Число 1 тоже truthy. Выведите их, чтобы закрепить контраст с falsy.
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(1));
console.log(Boolean(" "));
Покажите флаг да/нет на странице
Сохраните логическое и выведите его на страницу через textContent.
<!DOCTYPE html>
<html>
<head>
<title>Booleans — ready flag</title>
</head>
<body>
<p id="out">…</p>
<script>
let ready = true;
document.getElementById("out").textContent = "ready = " + ready;
</script>
</body>
</html>
Абзац показывает логическое на странице (ready = true или ready = false). Поменяйте только ready, обновите страницу и проверьте текст. Позже этот флаг попадёт в полный if.
Попробуйте сами
- Создайте
let on = trueиlet off = false; выведите оба значения и обаtypeof. - Выведите
8 >= 8,3 !== 4и1 === "1"; угадайте до запуска. - Вызовите
Booleanдля1,0,"ok"и""; запишите, что даётtrue. - Выведите
Boolean("0")иBoolean(0)— строка truthy, числовой ноль falsy. - В HTML-демо поставьте
readyвfalse, обновите и прочитайте строку. - Смените подпись перед
+ ready; логика остаётся той же.
Частые ошибки
- Писать
"true"или"false"в кавычках — это строки, не логические - Использовать
True/Falseс заглавной — в JavaScript строчныеtrue/false - Считать, что
1и0и есть логический тип — это числа; преобразование может сопоставить, ноtypeof 1—"number" - Забывать, что сравнение уже возвращает логическое — часто сохраняют:
let ok = score >= 10 - Считать непустую строку
"false"falsy —Boolean("false")равноtrue
Кратко
- Логическое значение — только
trueилиfalse(ключевые слова, без кавычек) typeofсообщает"boolean"; сравнения вроде===и>возвращают логическоеBoolean(value)преобразует; помните частые falsy:0,"",null,undefined,false,NaN- Строки
"true"/"false"— текст, не логический тип - Дальше:
nullиundefined— две идеи «пустоты», не логические значения
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху