Skip to content

Commit 903f3ef

Browse files
committed
crrections
1 parent 3e94d80 commit 903f3ef

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

  • 1-js/02-first-steps/11-logical-operators

1-js/02-first-steps/11-logical-operators/article.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
У JavaScript існує три логічних опратори: `||` (OR), `&&` (AND), `!` (NOT).
44

5-
Хоча вони називаються "логічними", вони можуть бути застосовані до значень будь-якого типу, те тільки булевих. Їх результати також може бути будь-якого типу.
5+
Хоча вони називаються "логічними", вони можуть бути застосовані до значень будь-якого типу, не тільки булевих. Їх результати також можуть бути будь-якого типу.
66

77
Подивимось більш детально.
88

@@ -29,7 +29,7 @@ alert( false || false ); // false
2929

3030
Як бачимо, результат завжди `true`, за винятком випадку, коли обидва операнда `false`.
3131

32-
Якщо операнд не є булевим, він перетворюється на логічний для обчислення.
32+
Якщо операнд не є булевим, він перетворюється на булевий для обчислення.
3333

3434
Наприклад, число `1` розглядається як `true`, число `0` — як `false`:
3535

@@ -64,7 +64,7 @@ if (hour < 10 || hour > 18 || isWeekend) {
6464
}
6565
```
6666

67-
## OR знаходить перше правдиве значенн
67+
## OR знаходить перше правдиве значення
6868

6969
Описана вище логіка дещо класична. Тепер давайте введемо "додаткові" особливості JavaScript.
7070

@@ -101,7 +101,7 @@ alert( undefined || null || 0 ); // 0 (усі не правдиві, повер
101101

102102
1. **Отримання першого правдивого значення зі списку змінних або виразів.**
103103

104-
Уявіть, що у нас є список змінних, які можуть містити дані убо бути `null/undefined`. Як знайти першу змінну за даними?
104+
Уявіть, що у нас є список змінних, які можуть містити дані або бути `null/undefined`. Як ми можемо знайти першу змінну, яка містить дані?
105105

106106
Ми можемо використати OR `||`:
107107

@@ -117,9 +117,9 @@ alert( undefined || null || 0 ); // 0 (усі не правдиві, повер
117117
```
118118

119119
Якщо і `currentUser`, і `defaultUser` були б не правдивими, `"unnamed"` було б результатом.
120-
2. **Обчислення короткого змичання.**
120+
2. **Обчислення короткого замикання.**
121121

122-
Операндами можуть бути не тільки значення, але й довільні вирази. OR обчислює Цей процес називається "обчисленням короткого замикання", оскільки він іде якомога коротше зліва направо.
122+
Операндами можуть бути не тільки значення, але й довільні вирази. OR обчислює та перевіряє їх зліва направо. Обчислення припиняється, коли досягається правдиве значення, і значення повертається. Цей процес називається "обчисленням короткого замикання", оскільки він іде якомога коротше зліва направо.
123123

124124
Це чітко видно, коли вираз, заданий як другий аргумент, має побічний ефект, як присвоєння змінної.
125125

@@ -230,8 +230,8 @@ alert( 1 && 2 && null && 3 ); // null
230230
alert( 1 && 2 && 3 ); // 3, останнє
231231
```
232232

233-
````smart header="Приорітет AND `&&` є більш високим за OR `||`"
234-
Приорітет оператора AND `&&` є більш високим за OR `||`.
233+
````smart header="Пріоритет AND `&&` є більш високим за OR `||`"
234+
Пріоритет оператора AND `&&` є більш високим за OR `||`.
235235

236236
Отже, код `a && b || c && d` по суті є таким самим, як би вираз `&&` був у дужках: `(a && b) || (c && d)`.
237237
````
@@ -260,7 +260,7 @@ if (x > 0) {
260260

261261
Варіант з `&&` є коротшим. Але `if` є більш очевидним і зазвичай є більш чтабельним.
262262

263-
Тому ми рекомендуємо використовувати кожну конструкцію за своїм призначенням: використовуємо `if` нам потрібен if і використовуємо `&&`, якщо нам потрібен AND.
263+
Тому ми рекомендуємо використовувати кожну конструкцію за своїм призначенням: використовуємо `if`, якщо нам потрібен if і використовуємо `&&`, якщо нам потрібен AND.
264264

265265
## ! (NOT)
266266

@@ -284,7 +284,7 @@ alert( !true ); // false
284284
alert( !0 ); // true
285285
```
286286

287-
Подвійний NOT `!!` іноді використовується для перетворення значення у булевий тип:
287+
Подвійний NOT `!!` іноді використовується для перетворення значення на булевий тип:
288288

289289
```js run
290290
alert( !!"не пустий рядок" ); // true

0 commit comments

Comments
 (0)