Skip to content

Commit 77ae0c3

Browse files
committed
Made small changes
1 parent 1241829 commit 77ae0c3

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

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

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

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

33
В JavaScript представлены три логических оператора: `||` (ИЛИ), `&&` (И) и `!` (НЕ).
44

5-
Несмотря на своё название, данные операторы в состоянии применяться к значениям любых типов. Полученные результаты также могут иметь различный тип.
5+
Несмотря на своё название, данные операторы могут применяться к значениям любых типов. Полученные результаты также могут иметь различный тип.
66

77
Давайте рассмотрим их детальнее.
88

@@ -60,7 +60,7 @@ let hour = 12;
6060
let isWeekend = true;
6161

6262
if (hour < 10 || hour > 18 || isWeekend) {
63-
alert( 'The office is closed.' ); // 'это выходной'
63+
alert( 'The office is closed.' ); // это выходной
6464
}
6565
```
6666

@@ -70,7 +70,7 @@ if (hour < 10 || hour > 18 || isWeekend) {
7070

7171
Расширенный алгоритм работает следующим образом.
7272

73-
Учитывается несколько значений ИЛИ:
73+
При выполнении ИЛИ || с несколькими значениями:
7474

7575
```js
7676
result = value1 || value2 || value3;
@@ -80,7 +80,7 @@ result = value1 || value2 || value3;
8080

8181
- Вычисляет операнды слева направо.
8282
- Каждый операнд конвертирует в логическое значение. Если результат `true`, останавливается и возвращает исходное значение этого операнда.
83-
- Если все операнды были "ложными" (`false`), возвращает последний из них.
83+
- Если все операнды являются ложными (`false`), возвращает последний из них.
8484

8585
Значение возвращается в исходном виде, без преобразования.
8686

@@ -101,7 +101,7 @@ alert( undefined || null || 0 ); // 0 (поскольку все ложно, в
101101

102102
1. **Получение первого истинного значения из списка переменных или выражений.**
103103

104-
Представьте, что у нас имеется несколько переменных, которые могут содержать данные или быть `null/undefined`. Как мы можем найти первую переменную с данными?
104+
Представим, что у нас имеется ряд переменных, которые могут содержать данные или быть `null/undefined`. Как мы можем найти первую переменную с данными?
105105

106106
С помощью `||`:
107107

@@ -121,7 +121,7 @@ alert( undefined || null || 0 ); // 0 (поскольку все ложно, в
121121

122122
Операндами могут быть как отдельные значения, так и произвольные выражения. ИЛИ вычисляет их слева направо. Вычисление останавливается при достижении первого истинного значения. Этот процесс называется "сокращённым вычислением", поскольку второй операнд вычисляется только в том случае, если первого не достаточно для вычисления всего выражения.
123123

124-
Это хорошо заметно, когда выражение, указанное в качестве второго аргумента, имеет изменение состояния, такое как присвоение переменной.
124+
Это хорошо заметно, когда выражение, указанное в качестве второго аргумента, имеет побочный эффект, например, изменение переменной.
125125

126126
В приведенном ниже примере `x` не изменяется:
127127

@@ -143,7 +143,7 @@ alert( undefined || null || 0 ); // 0 (поскольку все ложно, в
143143
alert(x); // 1
144144
```
145145

146-
Присвоение -  простой случай. Могут быть и другие.
146+
Присваивание - лишь один пример. Конечно, могут быть и другие побочные эффекты, которые не проявятся, если вычисление до них не дойдет.
147147

148148
Как мы видим, этот вариант использования `||` является "аналогом `if`". Первый операнд преобразуется в логический. Если он оказывается ложным, начинается вычисление второго.
149149

@@ -180,7 +180,7 @@ if (hour == 12 && minute == 30) {
180180
Как и в случае с ИЛИ, любое значение допускается в качестве операнда И:
181181

182182
```js run
183-
if (1 && 0) { // оценивается как true && false
183+
if (1 && 0) { // вычисляется как true && false
184184
alert( "won't work, because the result is falsy" );
185185
}
186186
```
@@ -246,7 +246,7 @@ let x = 1;
246246
(x > 0) && alert( 'Greater than zero!' );
247247
```
248248

249-
Действие в правой части `&&` выполнится только в том случае, если до него дойдут вычисления. То есть, `alert` сработает, если в левой части будет `true`.
249+
Действие в правой части `&&` выполнится только в том случае, если до него дойдут вычисления. То есть, `alert` сработает, если в левой части (`x > 0)` будет `true`.
250250

251251

252252
Получился аналог:

0 commit comments

Comments
 (0)