You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/10-ifelse/article.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,17 @@
1
-
# Условные операторы: if, '?'
1
+
# Условное ветвление: if, '?'
2
2
3
3
Иногда нам нужно выполнить различные действия в зависимости от условий.
4
4
5
-
Для этого мы можем использовать оператор`if` и условный оператор `?`, который также называют "оператор вопросительный знак".
5
+
Для этого мы можем использовать инструкцию`if` и условный оператор `?`, который также называют оператором "вопросительный знак".
6
6
7
-
## Оператор "if"
7
+
## Инструкция "if"
8
8
9
-
Оператор`if(...)` вычисляет условие в скобках и, если результат `true`, то выполняет блок кода.
9
+
Инструкция`if(...)` вычисляет условие в скобках и, если результат `true`, то выполняет блок кода.
10
10
11
11
Например:
12
12
13
13
```js run
14
-
let year =prompt('В каком году появилась спецификация ECMAScript-2015?', '');
14
+
let year =prompt('В каком году была опубликована спецификация ECMAScript-2015?', '');
15
15
16
16
*!*
17
17
if (year ==2015) alert( 'Вы правы!' );
@@ -29,11 +29,11 @@ if (year == 2015) {
29
29
}
30
30
```
31
31
32
-
Мы рекомендуем использовать фигурные скобки `{}` всегда, когда вы используете оператор`if`, даже если выполняется только одна команда. Это улучшает читабельность кода.
32
+
Мы рекомендуем использовать фигурные скобки `{}` всегда, когда вы используете инструкцию`if`, даже если выполняется только одна команда. Это улучшает читабельность кода.
33
33
34
34
## Преобразование к логическому типу
35
35
36
-
Оператор`if (…)` вычисляет выражение в скобках и преобразует результат к логическому типу.
36
+
Инструкция`if (…)` вычисляет выражение в скобках и преобразует результат к логическому типу.
37
37
38
38
Давайте вспомним правила преобразования типов из главы <info:type-conversions>:
39
39
@@ -59,21 +59,21 @@ if (1) { // 1 is truthy
59
59
Мы также можем передать заранее вычисленное в переменной логическое значение в `if`, например так:
60
60
61
61
```js
62
-
letcond= (year ==2015); // преобразуется к true или false
62
+
letcondition= (year ==2015); // преобразуется к true или false
63
63
64
-
if (cond) {
64
+
if (condition) {
65
65
...
66
66
}
67
67
```
68
68
69
69
## Блок "else"
70
70
71
-
Оператор`if` может содержать необязательный блок "else" ("иначе"). Выполняется, когда условие ложно.
71
+
Инструкция`if` может содержать необязательный блок "else" ("иначе"). Он выполняется, когда условие ложно.
72
72
73
73
Например:
74
74
75
75
```js run
76
-
let year =prompt('В каком году появилась спецификация ECMAScript-2015?', '');
76
+
let year =prompt('В каком году была опубликована спецификация ECMAScript-2015?', '');
77
77
78
78
if (year ==2015) {
79
79
alert( 'Да вы знаток!' );
@@ -89,7 +89,7 @@ if (year == 2015) {
89
89
Например:
90
90
91
91
```js run
92
-
let year =prompt('В каком году появилась спецификация ECMAScript-2015?', '');
92
+
let year =prompt('В каком году была опубликована спецификация ECMAScript-2015?', '');
93
93
94
94
if (year <2015) {
95
95
alert( 'Это слишком рано...' );
@@ -100,13 +100,13 @@ if (year < 2015) {
100
100
}
101
101
```
102
102
103
-
В приведённом выше коде, JavaScript сначала проверит `year < 2015`. Если это неверно, он переходит к следующему условию `year > 2015`. Если оно тоже ложно, тогда сработает последний `alert`.
103
+
В приведённом выше коде JavaScript сначала проверит `year < 2015`. Если это неверно, он переходит к следующему условию `year > 2015`. Если оно тоже ложно, тогда сработает последний `alert`.
104
104
105
105
Блоков `else if` может быть и больше. Присутствие блока `else` не является обязательным.
106
106
107
107
## Условный оператор '?'
108
108
109
-
Иногда, нам нужно назначить переменную в зависимости от условия.
109
+
Иногда нам нужно определить переменную в зависимости от условия.
110
110
111
111
Например:
112
112
@@ -156,7 +156,7 @@ let accessAllowed = age > 18 ? true : false;
156
156
Но скобки делают код более читабельным, поэтому мы рекомендуем их использовать.
157
157
158
158
````smart
159
-
В примере выше, вы можете избежать использования оператора вопросительного знака `?`, т.к. сравнение само по себе уже возвращает `true/false`:
159
+
В примере выше вы можете избежать использования оператора вопросительного знака `?`, т.к. сравнение само по себе уже возвращает `true/false`:
160
160
161
161
```js
162
162
// то же самое
@@ -204,7 +204,7 @@ if (age < 3) {
204
204
205
205
## Нетрадиционное использование '?'
206
206
207
-
Иногда оператор вопросительный знак `?` используется в качестве замены `if`:
207
+
Иногда оператор "вопросительный знак"`?` используется в качестве замены `if`:
208
208
209
209
```js run no-beautify
210
210
let company =prompt('Какая компания создала JavaScript?', '');
@@ -221,7 +221,7 @@ let company = prompt('Какая компания создала JavaScript?', '
221
221
222
222
**Не рекомендуется использовать оператор вопросительного знака таким образом.**
223
223
224
-
Несмотря на то, что такая запись короче, чем эквивалентное выражение`if`, она менее читабельна.
224
+
Несмотря на то, что такая запись короче, чем эквивалентная инструкция`if`, она менее читабельна.
225
225
226
226
Вот, для сравнения, тот же код, использующий `if`:
227
227
@@ -239,4 +239,4 @@ if (company == 'Netscape') {
239
239
240
240
При чтении глаза сканируют код по вертикали. Блоки кода, занимающие несколько строк, воспринимаются гораздо легче, чем длинный горизонтальный набор инструкций.
241
241
242
-
Смысл оператора вопросительный знак `?` -- вернуть то или иное значение, в зависимости от условия. Пожалуйста, используйте его именно для этого. Когда вам нужно выполнить разные ветви кода -- используйте `if`.
242
+
Смысл оператора "вопросительный знак"`?` -- вернуть то или иное значение, в зависимости от условия. Пожалуйста, используйте его именно для этого. Когда вам нужно выполнить разные ветви кода -- используйте `if`.
0 commit comments