Урок 7: Условные конструкции в JavaScript’e

Сегодня мы разберем одну из самых важных тем в программировании, это условные конструкции. Они основа логики любого приложения. Без условий наш код был бы линейным и «плоским», а программы не могли бы принимать решения. Давайте погрузимся в мир 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("Ожирение");
}

Советы

  1. Избегайте «лестницы» условий. Если else if становится слишком много, подумайте о switch (это тема следующего урока!).
  2. Проверяйте граничные значения. Например, в задаче про время суток, что будет при hour = 23?
  3. Тестируйте код. Меняйте входные данные и убедитесь, что условия работают корректно.

Условия это «мозг» программы. Чем лучше вы их освоите, тем сложнее и интереснее задачи сможете решать. До встречи в следующем уроке!

Полный курс по JavaScript для начинающих:
Изучайте JavaScript с нуля