Кратко
Условия позволяют коду принимать решения: если условие истинно — выполнить один блок кода, если нет — другой. if/else — основной способ. switch — для множества вариантов. Тернарный оператор — для коротких условий в одну строку.
Подробно
if/else — основной способ условий: if (условие) { // выполняется, если условие true } else { // выполняется, если условие false }
Можно добавить else if для дополнительных вариантов: if (temp < 0) { // мороз } else if (temp < 20) { // прохладно } else { // тепло }
switch — для множества вариантов: switch (значение) { case 'option1': ... case 'option2': ... default: ... }
Тернарный оператор — сокращённая запись if/else: let result = условие ? значение_если_true : значение_если_false;
Truthy и falsy: JavaScript может преобразовать любое значение в boolean. Falsy значения (считаются false):
- false, 0, '', null, undefined, NaN
Truthy значения (считаются true):
- Всё остальное: true, 1, 'hello', [], {},
function() {}
Это важно понимать, потому что JavaScript автоматически преобразует значения в boolean в условиях.
Ментальная модель
Условия — как развилка на дороге. Если условие true — едем налево, если false — направо. Truthy/falsy — это способ JavaScript определить, есть ли «кто-то на дороге» (даже если это не совсем true/false).
Примеры
**Самый простой:**
let age = 17;
if (age >= 18) {
console.log('Добро пожаловать');
} else {
console.log('Вам нет 18');
}
// Выведет: Вам нет 18Базовое условие: если age >= 18 — одно, иначе — другое.
**Простой:**
let score = 85;
let grade = score >= 90 ? 'A' :
score >= 80 ? 'B' :
score >= 70 ? 'C' : 'F';
console.log(grade); // 'B'Тернарный оператор можно вкладывать друг в друга для множества вариантов.
**Реальный пример:**
let username = '';
// Truthy/falsy в действии:
if (username) {
console.log('Привет, ' + username);
} else {
console.log('Привет, гость!');
}
// Выведет: Привет, гость! (пустая строка — falsy)JavaScript автоматически преобразует пустую строку в false. Это удобно для проверки на «пустоту».
Частые ошибки
**Неправильно:** Забывать break в switch
**Почему:** Без break JavaScript «проваливается» в следующий case и выполняет его тоже (fall-through).
**Правильно:** Всегда добавляйте break после каждого case. Или используйте return.
**Неправильно:** Путать = и ==
**Почему:** = — присваивание, == — сравнение. if (x = 5) всегда true!
**Правильно:** if (x === 5) — сравнение. if (x = 5) — присваивание (и всегда true).
**Неправильно:** Использовать if (x == null) для проверки на undefined
**Почему:** == null проверяет и null, и undefined. Это может быть неожиданным.
**Правильно:** Явно проверяйте: if (x === null || x === undefined)
Важно запомнить
- if/else — основной способ условий
- switch — для множества вариантов (не забывайте break!)
- Тернарный оператор ? : — для коротких условий
- Falsy: false, 0, '', null, undefined, NaN
- Всё остальное — truthy (включая '0', [], {})
Связь
Назад: Вы знаете операторы (J4) — теперь вы умеете принимать решения с их помощью.
Вперёд: Следующий урок (J8) — циклы: как повторять действия.