JS Core

Условия

Научиться принимать решения в коде с помощью if/else, switch и тернарного оператора, понимая truthy и falsy значения.

Начальный (Beginner)

Кратко

Условия позволяют коду принимать решения: если условие истинно — выполнить один блок кода, если нет — другой. 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).


Примеры

**Самый простой:**

javascript
let age = 17;

if (age >= 18) {
  console.log('Добро пожаловать');
} else {
  console.log('Вам нет 18');
}
// Выведет: Вам нет 18

Базовое условие: если age >= 18 — одно, иначе — другое.

**Простой:**

javascript
let score = 85;

let grade = score >= 90 ? 'A' :
            score >= 80 ? 'B' :
            score >= 70 ? 'C' : 'F';

console.log(grade); // 'B'

Тернарный оператор можно вкладывать друг в друга для множества вариантов.

**Реальный пример:**

javascript
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) — циклы: как повторять действия.

Материалы курса JS Core — PROlab Academy.