Загрузка...

Truthy и falsy

Вы уже умеете преобразовывать через String(), Number() и Boolean(). Следующий навык — как значения ведут себя внутри решения, ещё до полного раздела if / else. Те, что работают как «нет», называют falsy. Почти всё остальное — truthy. Выучите короткий список falsy один раз — меньше путаницы потом.

Что такое truthy и falsy в JavaScript?

Falsy значит: в условии JavaScript относится к значению как к false. Truthy — как к true. Это не новый тип — те же числа и строки. Можно посмотреть через Boolean(value) или написать if (value) — правило одно. Новичкам хватает списка falsy; остальное обычно truthy.

Список falsy

📊 Falsy-значения, которые нужно знать

Значение Почему «пусто / нет» Заметка
false логическое нет ключевое слово
0 числовой ноль также -0
"" пустая строка длина 0
null пусто намеренно из прошлого урока
undefined значения ещё нет из прошлого урока
NaN неудачное число typeof всё ещё "number"

Этого стартового списка достаточно. Запоминайте falsy, а не бесконечный каталог truthy. Нет в списке — считайте truthy, пока следующий урок не скажет иначе.

Смотрим falsy через Boolean()

Boolean(...) — ясный предпросмотр. Каждый пункт списка становится false.

Карта falsy через Boolean()

javascript
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));

Для новичка по умолчанию — truthy

Непустые строки, большинство чисел и сам true — truthy. Первые сюрпризы — часто тексты, которые выглядят как «нет», но содержат символы.

Примеры truthy для старта

javascript
console.log(Boolean(1));
console.log(Boolean(-3));
console.log(Boolean("hi"));
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(" "));

"0" и "false" — truthy, потому что это непустой текст. Один пробел " " тоже truthy — среди обычных строк только "" (длина ноль) является falsy.

if без вызова Boolean()

Простой if (value) использует то же правило. Не нужно писать if (Boolean(value)). Полное ветвление позже; здесь только ворота да/нет.

if использует truthy и falsy

javascript
let name = "Ada";
if (name) {
console.log("name is truthy");
}

let empty = "";
if (empty) {
console.log("will not run");
} else {
console.log("empty string is falsy");
}

Ловушки строк: "0" и "false"

Формы и API часто присылают текст. Строка "0" — не число 0. Строка "false" — не логическое false. Обе truthy.

Ловушки строк с видом falsy

javascript
console.log(Boolean("0"));
console.log(Boolean(0));
console.log(Boolean("false"));
console.log(Boolean(false));
console.log("0" === 0);

Пустая строка против одного пробела

Среди обычных строк только "" с длиной ноль — falsy. Пробел всё ещё содержимое.

Пустая строка против одного пробела

javascript
console.log(Boolean(""));
console.log(Boolean(" "));
console.log("".length);
console.log(" ".length);

Сообщение на странице по одному значению

Решите, что видит посетитель, одним значением. Измените и обновите страницу.

Шлюз страницы с truthy / falsy

html
<!DOCTYPE html>
<html>
<head>
<title>Truthy falsy — page gate</title>
</head>
<body>
<p id="msg">…</p>
<script>
let user = "Sam";
let box = document.getElementById("msg");
if (user) {
box.textContent = "Hello, " + user;
} else {
box.textContent = "Please sign in";
}
</script>
</body>
</html>

Поставьте user в "" или null, обновите — сообщение станет строкой входа. То же правило falsy — уже на странице.

Попробуйте сами

  1. Выведите Boolean для каждого пункта списка falsy.
  2. Выведите Boolean("0") и Boolean(0) рядом.
  3. Выведите Boolean(" ") и Boolean("") — пробел против пустого.
  4. Напишите маленький if (score) с score = 0, затем с score = 5.
  5. В HTML-демо поставьте user = "", обновите и прочитайте сообщение.
  6. Смените user на "0" — приветствие всё равно сработает (truthy-строка).

Частые ошибки

  • Считать "false" или "0" falsy — это непустые строки
  • Думать, что всегда нужно оборачивать Boolean() — if (value) уже приводит
  • Учить все truthy вместо короткого списка falsy
  • Путать число 0 (falsy) со строкой "0" (truthy)
  • Забывать null, undefined или NaN в списке

Кратко

  • Falsy: в условии как false — выучите короткий список
  • Truthy: как true — большинство повседневных значений
  • Предпросмотр через Boolean(value) или сразу if (value)
  • Ловушки: "0" и "false" — truthy
  • Дальше: операторы — символы для вычислений и сравнений

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
8
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху