Инструкция if
До сих пор ваши программы выполняли каждую строку одну за другой, сверху вниз. Но программе часто нужно решать, что делать: показать предупреждение, только если пароль слишком короткий, или дать скидку, только если покупатель — студент. Мы принимаем такие решения постоянно: если пойдёт дождь, я возьму зонт.
В JavaScript решение записывают с помощью инструкции if:
const temperature = 30;
if (temperature > 25) {
console.log("Жарко, наденьте кепку");
}
console.log("Хорошего дня");Это выведет:
Жарко, наденьте кепку
Хорошего дняИнструкция if состоит из трёх частей:
- ключевое слово
if(какletиconst, слово с особым значением в JavaScript); - условие в скобках:
temperature > 25. Условие — это вопрос, на который можно ответить только «да» (истина, true) или «нет» (ложь, false): температура больше 25? - блок кода в фигурных скобках
{ }. Блок выполняется, только если условие истинно, и в нём может быть сколько угодно строк.
Строки внутри блока записаны с отступом в 4 пробела (или нажатием клавиши Tab). JavaScript отступы не нужны, но с ними сразу видно, какие строки относятся к блоку.
После блока программа продолжает работу как обычно, поэтому Хорошего дня выводится в любом случае. Если бы temperature было равно 10, условие было бы ложным: программа пропустила бы блок и вывела бы только Хорошего дня.
Следите за точками с запятой. Строки внутри блока, как обычно, заканчиваются на ;, а после if (...) точки с запятой нет. Поставить её там — типичная ошибка новичков, и JavaScript не считает это ошибкой:
const temperature = 10;
if (temperature > 25); {
console.log("Жарко, наденьте кепку");
}Это выведет:
Жарко, наденьте кепкуТочка с запятой заканчивает инструкцию if прямо на месте, и делать ей нечего. Блок в фигурных скобках больше к ней не относится, поэтому он выполняется каждый раз, даже при 10 градусах. После закрывающей } точку с запятой тоже не ставят.
Задание
- 1
Под переменной напишите инструкцию
ifс условиемmonitorPrice < 4000. В её блоке выведитеЯ куплю монитор. - 2
Под ней напишите вторую инструкцию
ifс условиемmonitorPrice > 4000, которая выводитСлишком дорого. Запустите программу: она по-прежнему выводит толькоЯ куплю монитор, потому что 3000 не больше 4000, и второй блок пропускается.