Сегодня мы разберем одну из самых важных тем в программировании, это условные конструкции. Они основа логики любого приложения. Без условий наш код был бы линейным и «плоским», а программы не могли бы принимать решения. Давайте погрузимся в мир if...else
, многоуровневых условий и тернарного оператора.
Инструкция if…else
Условия это «вилки» в коде, которые позволяют выполнять разные действия в зависимости от выполнения тех или иных условий.
Синтаксис if…else
Инструкция if
проверяет условие в скобках. Если оно истинно (true
), выполняется блок кода внутри if
. Если ложно (false
), выполняется блок else
(если он есть).
if (условие) { // Код, если условие истинно } else { // Код, если условие ложно }
Пример: Проверка возраста для доступа к сайту.
let age = 18; if (age >= 18) { console.log("Добро пожаловать!"); } else { console.log("Вам доступ ограничен."); }
Совет:
- Всегда используйте фигурные скобки
{}
, даже если внутри одна строка кода. Это улучшает читаемость. - Условие может быть любым выражением, которое возвращает
true
илиfalse
.
Многоуровневые условия
Когда нужно проверить несколько условий подряд, используйте else if
.
Пример: Определение оценки студента.
let score = 85; if (score >= 90) { console.log("Отлично!"); } else if (score >= 70) { console.log("Хорошо!"); } else if (score >= 50) { console.log("Удовлетворительно."); } else { console.log("Попробуйте еще раз."); }
Важно:
- Условия проверяются сверху вниз. Как только находится истинное, остальные игнорируются.
- Порядок условий имеет значение! Например, если поменять местами
score >= 50
иscore >= 70
, логика сломается.
Тернарный оператор
Это компактная замена if...else
, которая возвращает значение.
Синтаксис:
условие ? выражение_если_истина : выражение_если_ложь;
Пример: Проверка пароля.
let password = "qwerty123"; let message = password === "qwerty123" ? "Доступ разрешен." : "Неверный пароль!"; console.log(message); // Доступ разрешен.
Где использовать:
- Для простых условий, например, присвоение переменной.
- Не злоупотребляйте тернарными операторами для сложной логики — это ухудшает читаемость.
Практические задачи
Задача 1: Четное или нечетное?
Напишите код, который проверяет, является ли число четным.
let number = 10; if (number % 2 === 0) { console.log("Четное"); } else { console.log("Нечетное"); }
Задача 2: Время суток
Определите, какое сейчас время суток (утро, день, вечер, ночь) на основе переменной hour
.
let hour = 15; if (hour >= 6 && hour < 12) { console.log("Утро"); } else if (hour >= 12 && hour < 18) { console.log("День"); } else if (hour >= 18 && hour < 23) { console.log("Вечер"); } else { console.log("Ночь"); }
Задача 3: Тернарный оператор в деле
Перепишите задачу 1 с использованием тернарного оператора.
let number = 10; let result = number % 2 === 0 ? "Четное" : "Нечетное"; console.log(result);
Задача 4: Калькулятор ИМТ
Напишите программу, которая вычисляет индекс массы тела (ИМТ) и выводит категорию:
- ИМТ < 18.5 — Недостаточный вес.
- 18.5 ≤ ИМТ < 25 — Норма.
- 25 ≤ ИМТ < 30 — Избыточный вес.
- ИМТ ≥ 30 — Ожирение.
let weight = 70; // кг let height = 1.75; // метры let bmi = weight / (height ** 2); if (bmi < 18.5) { console.log("Недостаточный вес"); } else if (bmi < 25) { console.log("Норма"); } else if (bmi < 30) { console.log("Избыточный вес"); } else { console.log("Ожирение"); }
Советы
- Избегайте «лестницы» условий. Если
else if
становится слишком много, подумайте оswitch
(это тема следующего урока!). - Проверяйте граничные значения. Например, в задаче про время суток, что будет при
hour = 23
? - Тестируйте код. Меняйте входные данные и убедитесь, что условия работают корректно.
Условия это «мозг» программы. Чем лучше вы их освоите, тем сложнее и интереснее задачи сможете решать. До встречи в следующем уроке!
Полный курс по JavaScript для начинающих:
Изучайте JavaScript с нуля