Elementor Header #8

52. Условная конструкция (if)

Условная конструкция if — это одна из наиболее часто используемых конструкций в программировании. Она позволяет выполнять определённый блок кода только в том случае, если заданное условие истинно. В этом уроке мы рассмотрим, как работает конструкция if, а также её расширенные формы, такие как else и else if.

Базовый синтаксис if

Условная конструкция if проверяет логическое выражение и выполняет код внутри блока {}, если это выражение возвращает true.

Пример:

				
					let age = 20;

if (age >= 18) {
    console.log("Вы совершеннолетний");
}

				
			

В этом примере, если значение переменной age больше или равно 18, программа выведет сообщение «Вы совершеннолетний».

Конструкция if-else

Если вы хотите выполнить один блок кода, если условие истинно, и другой блок, если условие ложно, используйте конструкцию if-else.

Пример:

				
					let age = 16;

if (age >= 18) {
    console.log("Вы совершеннолетний");
} else {
    console.log("Вы несовершеннолетний");
}

				
			

Здесь, если age меньше 18, выведется сообщение «Вы несовершеннолетний».

Конструкция else if

Когда нужно проверить несколько условий, вы можете использовать комбинацию if, else if и else.

Пример:

				
					let score = 85;

if (score >= 90) {
    console.log("Отлично");
} else if (score >= 75) {
    console.log("Хорошо");
} else if (score >= 60) {
    console.log("Удовлетворительно");
} else {
    console.log("Неудовлетворительно");
}

				
			

Здесь программа проверит несколько условий по очереди и выполнит тот блок кода, который соответствует первому истинному условию.

Вложенные конструкции if

Конструкции if, else if и else могут быть вложены друг в друга для реализации более сложной логики.

Пример:

				
					let age = 22;
let hasID = true;

if (age >= 18) {
    if (hasID) {
        console.log("Доступ разрешён");
    } else {
        console.log("Необходимо предъявить удостоверение личности");
    }
} else {
    console.log("Доступ запрещён");
}

				
			

Здесь сначала проверяется, достиг ли пользователь 18 лет, а затем, есть ли у него удостоверение личности.

Тернарный оператор

Тернарный оператор (? :) — это краткая форма условной конструкции if-else. Он используется для простых условий, когда нужно вернуть одно из двух значений.

Пример:

				
					let age = 20;
let message = age >= 18 ? "Вы совершеннолетний" : "Вы несовершеннолетний";
console.log(message);

				
			

Этот пример эквивалентен следующему коду с использованием if-else:

				
					let age = 20;
let message;

if (age >= 18) {
    message = "Вы совершеннолетний";
} else {
    message = "Вы несовершеннолетний";
}

console.log(message);

				
			

Распространённые ошибки

Отсутствие фигурных скобок

Если не использовать {} в конструкции if, то выполнится только одна следующая строка кода, что может привести к ошибкам.

Ошибка:

				
					let age = 20;

if (age >= 18)
    console.log("Вы совершеннолетний");
    console.log("Добро пожаловать!"); // Выполнится всегда, вне зависимости от возраста

				
			

Исправление:

				
					let age = 20;

if (age >= 18) {
    console.log("Вы совершеннолетний");
    console.log("Добро пожаловать!");
}

				
			

Ошибки с else if

Иногда разработчики случайно пишут else if как else и отдельный if, что приводит к неожиданному поведению.

Ошибка:

				
					let score = 85;

if (score >= 90) {
    console.log("Отлично");
} else {
    if (score >= 75) {
        console.log("Хорошо");
    }
}

				
			

Здесь второй блок if всегда будет проверяться, даже если первое условие истинно.

Исправление:

				
					let score = 85;

if (score >= 90) {
    console.log("Отлично");
} else if (score >= 75) {
    console.log("Хорошо");
}

				
			

Сравнение с null, undefined и другими типами данных

Часто можно столкнуться с ошибками, связанными с использованием == вместо ===, что приводит к нежелательным преобразованиям типов.

Ошибка:

				
					let value = 0;

if (value == false) {
    console.log("Значение равно false");
}

				
			

Здесь 0 интерпретируется как false, что может быть не тем, что вы ожидали.

Исправление:

Используйте строгое сравнение ===:

				
					let value = 0;

if (value === false) {
    console.log("Значение равно false");
}

				
			

Заключение

Условная конструкция if — это основа принятия решений в программировании. Она позволяет выполнять определённые действия на основе логических выражений. Правильное использование конструкции if, а также её расширений else и else if, поможет вам создавать гибкие и адаптивные программы.

Тестовое задание

Напишите функцию checkNumber, которая принимает число и возвращает:

  • "Положительное", если число больше нуля,
  • "Отрицательное", если число меньше нуля,
  • "Ноль", если число равно нулю.
				
					function checkNumber(num) {
    if (num > 0) {
        return "Положительное";
    } else if (num < 0) {
        return "Отрицательное";
    } else {
        return "Ноль";
    }
}

console.log(checkNumber(10)); // "Положительное"
console.log(checkNumber(-5)); // "Отрицательное"
console.log(checkNumber(0));  // "Ноль"

				
			

Создайте функцию checkAge, которая принимает возраст и возвращает строку:

  • "Ребёнок", если возраст меньше 13 лет,
  • "Подросток", если возраст от 13 до 19 лет,
  • "Взрослый", если возраст 20 лет и старше.
				
					function checkAge(age) {
    if (age < 13) {
        return "Ребёнок";
    } else if (age >= 13 && age <= 19) {
        return "Подросток";
    } else {
        return "Взрослый";
    }
}

console.log(checkAge(10)); // "Ребёнок"
console.log(checkAge(15)); // "Подросток"
console.log(checkAge(25)); // "Взрослый"

				
			

Эти задания помогут вам лучше понять работу условных конструкций и их применение в различных ситуациях.

logo