Skip to content

Commit 061df00

Browse files
authored
Merge pull request #1087 from vsemozhetbyt/ch-1-2-7
Sync and fix translation in 1.2.7
2 parents 882e373 + 45ab1a8 commit 061df00

File tree

1 file changed

+11
-23
lines changed

1 file changed

+11
-23
lines changed

1-js/02-first-steps/07-type-conversions/article.md

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

33
Чаще всего операторы и функции автоматически приводят переданные им значения к нужному типу.
44

5-
Например, `alert` автоматически преобразует любое значение к строке. Математические операторы преобразуют значения к числам.
5+
Например, `alert` автоматически преобразует любое значение к строке. Математические операторы преобразуют значения к числам.
66

77
Есть также случаи, когда нам нужно явно преобразовать значение в ожидаемый тип.
88

@@ -37,7 +37,7 @@ alert(typeof value); // string
3737
Например, когда операция деления `/` применяется не к числу:
3838

3939
```js run
40-
alert( "6" / "2" ); // 3, Строки преобразуются в числа
40+
alert( "6" / "2" ); // 3, строки преобразуются в числа
4141
```
4242

4343
Мы можем использовать функцию `Number(value)`, чтобы явно преобразовать `value` к числу:
@@ -58,7 +58,7 @@ alert(typeof num); // number
5858
```js run
5959
let age = Number("Любая строка вместо числа");
6060

61-
alert(age); // NaN, преобразование не удалось
61+
alert(age); // NaN, преобразование не удалось
6262
```
6363

6464
Правила численного преобразования:
@@ -68,37 +68,26 @@ alert(age); // NaN, преобразование не удалось
6868
|`undefined`|`NaN`|
6969
|`null`|`0`|
7070
|<code>true&nbsp;/&nbsp;false</code> | `1` / `0` |
71-
| `string` | Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то `0`, иначе из непустой строки "считывается" число. При ошибке результат `NaN`.|
71+
| `string` | Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то получаем `0`, иначе из непустой строки "считывается" число. При ошибке результат `NaN`.|
7272

7373
Примеры:
7474

7575
```js run
7676
alert( Number(" 123 ") ); // 123
77-
alert( Number("123z") ); // NaN (ошибка чтения числа в "z")
77+
alert( Number("123z") ); // NaN (ошибка чтения числа на месте символа "z")
7878
alert( Number(true) ); // 1
7979
alert( Number(false) ); // 0
8080
```
8181

8282
Учтите, что `null` и `undefined` ведут себя по-разному. Так, `null` становится нулём, тогда как `undefined` приводится к `NaN`.
8383

84-
````smart header="Сложение '+' объединяет строки"
85-
Почти все математические операторы выполняют численное преобразование. Исключение составляет `+`. Если одно из слагаемых является строкой, тогда и все остальные приводятся к строкам.
86-
87-
Тогда они конкатенируются (присоединяются) друг к другу:
88-
89-
```js run
90-
alert( 1 + '2' ); // '12' (строка справа)
91-
alert( '1' + 2 ); // '12' (строка слева)
92-
```
93-
94-
Так происходит, только если хотя бы один из аргументов является строкой. Во всех остальных случаях значения складываются как числа.
95-
````
84+
Большинство математических операторов также производит данное преобразование, как мы увидим в следующей главе.
9685

9786
## Логическое преобразование
9887

9988
Логическое преобразование самое простое.
10089

101-
Происходит в логических операторах (позже мы познакомимся с подобными конструкциями), но также может быть выполнено явно с помощью функции `Boolean(value)`.
90+
Происходит в логических операциях (позже мы познакомимся с условными проверками и подобными конструкциями), но также может быть выполнено явно с помощью функции `Boolean(value)`.
10291

10392
Правило преобразования:
10493

@@ -115,7 +104,7 @@ alert( Boolean("Привет!") ); // true
115104
alert( Boolean("") ); // false
116105
```
117106

118-
````warn header="Заметим, что строчка с нулём `\"0\"` это `true`"
107+
````warn header="Заметим, что строчка с нулём `\"0\"` это `true`"
119108
Некоторые языки (к примеру, PHP) воспринимают строку `"0"` как `false`. Но в JavaScript, если строка не пустая, то она всегда `true`.
120109

121110
```js run
@@ -124,10 +113,9 @@ alert( Boolean(" ") ); // пробел это тоже true (любая непу
124113
```
125114
````
126115
127-
128116
## Итого
129117
130-
Существует 3 наиболее широко используемых преобразований: строковое, численное и логическое.
118+
Существует 3 наиболее широко используемых преобразования: строковое, численное и логическое.
131119
132120
**`Строковое`** -- Происходит, когда нам нужно что-то вывести. Может быть вызвано с помощью `String(value)`. Для примитивных значений работает очевидным образом.
133121
@@ -140,9 +128,9 @@ alert( Boolean(" ") ); // пробел это тоже true (любая непу
140128
|`undefined`|`NaN`|
141129
|`null`|`0`|
142130
|<code>true&nbsp;/&nbsp;false</code> | `1 / 0` |
143-
| `string` | Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то `0`, иначе из непустой строки "считывается" число. При ошибке результат `NaN`.|
131+
| `string` | Пробельные символы по краям обрезаются. Далее, если остаётся пустая строка, то получаем `0`, иначе из непустой строки "считывается" число. При ошибке результат `NaN`.|
144132
145-
**`Логическое`** -- Происходит в логических операторах. Может быть вызвано с помощью `Boolean(value)`.
133+
**`Логическое`** -- Происходит в логических операциях. Может быть вызвано с помощью `Boolean(value)`.
146134
147135
Подчиняется правилам:
148136

0 commit comments

Comments
 (0)