Elementor Header #8

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

Конструкция else if в JavaScript используется для проверки нескольких условий подряд. Она позволяет расширить базовый if-else, добавляя дополнительные условия, которые проверяются по очереди. Это удобно, когда нужно выполнить разные действия в зависимости от нескольких возможных условий.

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

Конструкция else if используется для проверки второго и последующих условий, если первое условие в if не выполнено. Если условие else if истинно, то выполняется код, связанный с этим условием. Если ни одно из условий не истинно, то выполняется код в блоке else (если он есть).

Синтаксис:

				
					if (условие1) {
    // Код выполняется, если условие1 истинно
} else if (условие2) {
    // Код выполняется, если условие2 истинно
} else if (условие3) {
    // Код выполняется, если условие3 истинно
} else {
    // Код выполняется, если ни одно из условий не истинно
}

				
			

Пример использования else if

Рассмотрим пример, где нужно проверить возраст пользователя и выдать соответствующее сообщение.

				
					let age = 25;

if (age < 13) {
    console.log("Ребёнок");
} else if (age >= 13 && age < 18) {
    console.log("Подросток");
} else if (age >= 18 && age < 60) {
    console.log("Взрослый");
} else {
    console.log("Пожилой");
}

				
			

В этом примере:

  • Если возраст меньше 13, выводится «Ребёнок».
  • Если возраст от 13 до 17 включительно, выводится «Подросток».
  • Если возраст от 18 до 59 включительно, выводится «Взрослый».
  • Если возраст 60 и старше, выводится «Пожилой».

Как работает else if

JavaScript проверяет условия сверху вниз:

  1. Сначала проверяется первое условие в if.
  2. Если первое условие истинно, выполняется соответствующий код, и последующие условия не проверяются.
  3. Если первое условие ложно, JavaScript проверяет условие в else if.
  4. Если условие в else if истинно, выполняется соответствующий код, и последующие условия не проверяются.
  5. Если ни одно из условий не истинно, выполняется блок else, если он присутствует.

Важные замечания

  • Порядок условий: Условия в цепочке if-else if-else проверяются по порядку. Поэтому важно правильно расставить условия, чтобы они не перекрывали друг друга.

  • Количество else if: Вы можете использовать любое количество else if, сколько вам нужно.

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

Пропуск блока else при сложных проверках: Иногда забывают добавить блок else, что может привести к ситуации, когда ни одно условие не выполняется, и код не срабатывает.

Пример:

				
					let score = 75;

if (score >= 90) {
    console.log("Отлично");
} else if (score >= 75) {
    console.log("Хорошо");
} // Что произойдет, если score будет 60?

				
			

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

				
					let score = 75;

if (score >= 90) {
    console.log("Отлично");
} else if (score >= 75) {
    console.log("Хорошо");
} else {
    console.log("Нужно постараться");
}

				
			

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

Пример:

				
					let age = 25;

if (age >= 18) {
    console.log("Взрослый");
} else if (age >= 13) {
    console.log("Подросток");
}

				
			

В этом примере блок else if никогда не выполнится, так как возраст 25 всегда соответствует первому условию.

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

				
					let age = 25;

if (age < 13) {
    console.log("Ребёнок");
} else if (age >= 13 && age < 18) {
    console.log("Подросток");
} else {
    console.log("Взрослый");
}

				
			

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

Заключение

Конструкция else if позволяет эффективно проверять несколько условий и реагировать на различные ситуации. Правильное использование этой конструкции помогает избежать лишнего кода и делает программы более понятными.

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

  1. Напишите скрипт, который принимает на вход число и выводит:

  • «Отрицательное число», если число меньше 0.
  • «Ноль», если число равно 0.
  • «Положительное число», если число больше 0.
  1. Исправьте следующую ошибку в коде:

				
					let temperature = 30;

if (temperature > 30) {
    console.log("Жарко");
} else if (temperature >= 20) {
    console.log("Тепло");
} else if (temperature > 10) {
    console.log("Прохладно");
} else {
    console.log("Холодно");
}

				
			
  • Что будет выведено при температуре 30?
  • Какой результат ожидался?
  • Как правильно исправить код, чтобы учесть все случаи?
  • Напишите программу, которая проверяет значение переменной grade и выводит соответствующее сообщение:

    • «Отлично», если grade больше или равно 90.
    • «Хорошо», если grade больше или равно 75, но меньше 90.
    • «Удовлетворительно», если grade больше или равно 60, но меньше 75.
    • «Неудовлетворительно», если grade меньше 60.
  • Исправьте следующую ошибку в коде:

				
					let score = 85;

if (score >= 60) {
    console.log("Сдал");
} else if (score >= 80) {
    console.log("Хороший результат");
} else if (score >= 90) {
    console.log("Отличный результат");
} else {
    console.log("Не сдал");
}

				
			
  • Какой результат будет выведен при значении score равном 85?
  • Какое изменение нужно внести, чтобы программа корректно проверяла диапазоны оценок

Придумайте и реализуйте код, который проверяет возраст пользователя (age) и выводит:

  • «Дошкольник», если возраст меньше 7 лет.
  • «Ученик», если возраст от 7 до 18 лет.
  • «Студент», если возраст от 18 до 24 лет.
  • «Работник», если возраст от 24 до 65 лет.
  • «Пенсионер», если возраст 65 лет и старше.

Решите все задания, чтобы закрепить понимание работы с конструкцией else if и научиться избегать распространённых ошибок.

logo