You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

352 lines
15 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<div align="center">
<h1> 30 Days Of JavaScript</h1>
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
</a>
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
</a>
<sub>Автор:
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
<small> Январь, 2020</small>
</sub>
</div>
[<< День 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 vale. Перерыв должен закончиться, и он не снижается после того, как условие выполнено. Блок по умолчанию выполняется, если все случаи не удовлетворяют условию.
```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("Введите свой возраст:")`, чтобы получить возраст в качестве входных данных.
```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-89, 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)