30 Days Of JavaScript

Twitter Follow Автор: Asabeneh Yetayeh
Январь, 2020
[<< День 3](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/RU/03_Day/03_booleans_operators_date.md) | [День 5 >>](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/RU/05_Day/05_day_arrays.md) ![Thirty Days Of JavaScript](../images/banners/day_1_4.png) - [📔 День 4](#%f0%9f%93%94-%d0%94%d0%b5%d0%bd%d1%8c-4) - [Условные операторы](#%d0%a3%d1%81%d0%bb%d0%be%d0%b2%d0%bd%d1%8b%d0%b5-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d1%8b) - [if](#if) - [if else](#if-else) - [if else if else](#if-else-if-else) - [Switch](#switch) - [Тернарный оператор](#%d0%a2%d0%b5%d1%80%d0%bd%d0%b0%d1%80%d0%bd%d1%8b%d0%b9-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80) - [💻 Упражнения](#%f0%9f%92%bb-%d0%a3%d0%bf%d1%80%d0%b0%d0%b6%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f) - [Упражнения: уровень 1](#%d0%a3%d0%bf%d1%80%d0%b0%d0%b6%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c-1) - [Упражнения: уровень 2](#%d0%a3%d0%bf%d1%80%d0%b0%d0%b6%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c-2) - [Упражнения: уровень 3](#%d0%a3%d0%bf%d1%80%d0%b0%d0%b6%d0%bd%d0%b5%d0%bd%d0%b8%d1%8f-%d1%83%d1%80%d0%be%d0%b2%d0%b5%d0%bd%d1%8c-3) # 📔 День 4 ## Условные операторы Условные операторы используются для принятия решения на основе различных условий. По умолчанию операторы в скрипте JavaScript выполняются последовательно сверху вниз. Если логика обработки требует этого, последовательный поток выполнения может быть изменен двумя способами: - Условное выполнение: блок из одного или нескольких операторов будет выполнен, если определенное выражение истинно - Повторное выполнение: блок из одного или нескольких операторов будет выполняться повторно, если определенное выражение истинно. В этом разделе мы рассмотрим операторы `if`, `else`, `else if`. Здесь будут полезны сравнение и логический оператор, который мы изучили в предыдущих разделах. Условия могут быть реализованы следующими способами: - if - if else - if else if else - switch - ternary operator ### if В JavaScript и других языках программирования ключевое слово `if` используется, чтобы проверить, выполняется ли условие и выполнить код блока. Чтобы создать условие `if`, нам нужно ключевое слово `if`, условие внутри скобки и блок кода внутри фигурной скобки ({}). ```js // синтаксис if (condition) { //эта часть кода работает для true состояния } ``` **Пример:** ```js let num = 3; if (num > 0) { console.log(`${num} это положительное число`); } // 3 это положительное число ``` ```js let isRaining = true; if (isRaining) { console.log("Remember to take your rain coat."); } ``` Как видно из вышеприведенного условия, 3 больше 0 и является положительным числом. Условие было выполнено, и код блока был выполнен. Однако, если условие ложно, мы не видим результат. То же самое касается второго условия, если isRaining равен `false`, блок `if` не будет выполнен, и мы не увидим вывод. Чтобы увидеть результат ложного условия, у нас должен быть еще один блок, который будет `else`. ### if else Если условие истинно, первый блок будет выполнен, если нет, будет выполнено условие else. ```js // синтаксис if (condition) { // эта часть кода работает для истинного состояния } else { // эта часть кода выполняется для ложного условия } ``` ```js let num = 3; if (num > 0) { console.log(`${num} это положительное число`); } else { console.log(`${num} отрицательное число`); } // 3 это положительное число num = -3; if (num > 0) { console.log(`${num} это положительное число`); } else { console.log(`${num} это отрицательное число`); } // -3 это отрицательное число ``` ```js let isRaining = true; if (isRaining) { console.log("Тебе нужен плащ от дождя.."); } else { console.log("Не нужно пальто от дождя."); } // Тебе нужен плащ от дождя. isRaining = false; if (isRaining) { console.log("Тебе нужен плащ от дождя.."); } else { console.log("Не нужно пальто от дождя."); } // Не нужно пальто от дождя. ``` Вышеуказанное условие ложно, поэтому был выполнен блок `else`. Как насчет, если наше условие больше двух, мы будем использовать `else if` условия. ### if else if else В нашей повседневной жизни мы принимаем решения ежедневно. Мы принимаем решение не проверяя одно или два условия, а принимаем решения на основе нескольких условий. Как и в нашей повседневной жизни, программирование также полно условий. Мы используем `else if`, когда у нас есть несколько условий. ```js // синтаксис if (condition) { // код } else if (condition) { // код } else { // код } ``` **Пример:** ```js let a = 0; if (a > 0) { console.log(`${a} это положительное число`); } else if (a < 0) { console.log(`${a} это отрицательное число`); } else if (a == 0) { console.log(`${a} это 0`); } else { console.log(`${a} это не число`); } ``` ```js // if else if else let weather = "солнечно"; if (weather === "дождливо") { console.log("Вам нужен плащ от дождя."); } else if (weather === "облачно") { console.log("Может быть холодно, тебе нужен пиджак."); } else if (weather === "солнечно") { console.log("Выйди свободным."); } else { console.log("Не нужно пальто от дождя."); } ``` ### Switch Переключатель является альтернативой для `if else if else else`. Оператор `switch` начинается с ключевого слова `switch`, за которым следуют скобки и блок кода. Внутри блока кода у нас будут разные случаи (case). Блок case выполняется, если значение в скобках оператора `switch` совпадает со значением case. Операртор `break` служит для прерывания выполнения, чтобы выполнение кода не прекратилось после выполнения условия. Блок `default` выполняется, если все случаи не удовлетворяют условию. ```js switch (caseValue) { case 1: // код break; case 2: // код break; case 3: // код default: // код } ``` ```js let weather = "облачно"; switch (weather) { case "дождливо": console.log("Вам нужен плащ от дождя."); break; case "облачно": console.log("Может быть холодно, тебе нужен пиджак."); break; case "солнечно": console.log("Выйди свободно."); break; default: console.log("Не нужно пальто от дождя."); } // Switch больше примеров let dayUserInput = prompt("Какой сегодня день ?"); let day = dayUserInput.toLowerCase(); switch (day) { case "понедельник": console.log("Сегодня понедельник"); break; case "вторник": console.log("Сегодня вторник"); break; case "среда": console.log("Сегодня среда"); break; case "четверг": console.log("Сегодня четверг"); break; case "пятница": console.log("Сегодня пятница"); break; case "суббота": console.log("Сегодня суббота"); break; case "воскресенье": console.log("Сегодня воскресенье"); break; default: console.log("Это не день недели."); } ``` ### Тернарный оператор Другой способ написания условных выражений - использование тернарных операторов. Мы уже рассматривали этот способ в других разделах, но нам следует также упомянуть о нем здесь. ```js let isRaining = true; isRaining ? console.log("You need a rain coat.") : console.log("No need for a rain coat."); ``` 🌕 Вы необыкновенный и у вас есть замечательный потенциал. Вы только что выполнили четвертый день испытаний и прошли четыре шага на пути к успеху. Теперь сделайте несколько упражнений для вашего мозга и ваших мышц. ## 💻 Упражнения ### Упражнения: уровень 1 1. Получить пользовательский ввод с помощью `prompt("Введите свой возраст:")`. Если пользователю 18 лет или больше, вывести сообщение: вы достаточно взрослый, чтобы ездить, но если меньше 18 - выведете сообщение,в котором говорится что нужно подождать определённое количество лет, чтобы водить машину. ```sh Введите свой возраст: 30 Вы достаточно взрослый, чтобы водить. Введите свой возраст: 15 Вам осталось 3 года до вождения. ``` 2. Сравните значения myAge и yourAge с помощью if ... else. На основе сравнения выведите результат в консоль, указав, кто старше (я или вы). Используйте prompt("Enter your age:") для получения возраста в качестве входных данных. ```sh Введите свой возраст: 30 Ты на 5 лет старше меня. ``` 3. Если a больше, чем b, вернуть «a больше, чем b», иначе «a меньше, чем b». Попробуйте реализовать это различными способами: - используя if else - тернарный оператор. ```js let a = 4; let b = 3; ``` ```sh 4 больше 3 ``` 4. Чётные числа делятся на 2, а остаток равен нулю. Как проверить, является ли число чётным или нет с помощью JavaScript? ```sh Введите число: 2 2 - чётное число Введите число: 9 9 является нечётным числом. ``` ### Упражнения: уровень 2 1. Напишите код, который может дать оценку студентам в соответствии с их баллами: - 80-100, A - 70-79, B - 60-69, C - 50-59, D - 0-49, F 2. Проверьте, является ли сезон: осенью, зимой, весной или летом. Если пользователь ввёл : - сентябрь, октябрь или ноябрь, сезон осень. - декабрь, январь или февраль, сезон зима. - март, апрель или май, сезон весна - июнь, июль или август, сезон лето 3. Проверьте, является ли день выходным или рабочим днем. Ваш сценарий примет день как вход. ```sh Какой сегодня день? Суббота Суббота - выходной день. Какой сегодня день? СубБоТта Суббота - выходной день. Какой сегодня день? Пятница Пятница рабочий день. Какой сегодня день? ПяТНИца Пятница рабочий день. ``` ### Упражнения: уровень 3 1. Напишите программу, которая сообщает количество дней в месяце. ```sh Введите месяц: январь В январе 31 день. Введите месяц: ЯНВАРЬ В январе 31 день Введите месяц: февраль Февраль имеет 28 дней. Введите месяц: феВРаль Февраль имеет 28 дней. ``` 🎉 ПОЗДРАВЛЯЕМ ! 🎉 [<< День 3](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/RU/03_Day/03_booleans_operators_date.md) | [День 5 >>](https://github.com/Asabeneh/30DaysOfJavaScript/blob/master/RU/05_Day/05_day_arrays.md)