Skip to content

Commit 165f3c1

Browse files
authored
Merge pull request #1094 from vsemozhetbyt/ch-1-2-8
Update translation of chapter 1.2.8
2 parents 34d7a9b + 157e786 commit 165f3c1

File tree

6 files changed

+198
-122
lines changed

6 files changed

+198
-122
lines changed

1-js/02-first-steps/08-operators/2-assignment-result/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ importance: 3
44

55
# Результат присваивания
66

7-
Чему будут равны переменные `a` и `x` в примере ниже?
7+
Чему будут равны переменные `a` и `x` после исполнения кода в примере ниже?
88

99
```js
1010
let a = 2;

1-js/02-first-steps/08-operators/3-primitive-conversions-questions/solution.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ true + false = 1
1010
"4" - 2 = 2
1111
"4px" - 2 = NaN
1212
7 / 0 = Infinity
13-
" -9 " + 5 = " -9 5" // (3)
14-
" -9 " - 5 = -14 // (4)
13+
" -9 " + 5 = " -9 5" // (3)
14+
" -9 " - 5 = -14 // (4)
1515
null + 1 = 1 // (5)
1616
undefined + 1 = NaN // (6)
1717
" \t \n" - 2 = -2 // (7)
1818
```
1919

20-
1. Сложение со строкой `"" + 1` преобразует `1` к строке: `"" + 1 = "1"`, и в следующем случае `"1" + 0`, работает то же самое правило.
20+
1. Сложение со строкой `"" + 1` преобразует `1` к строке: `"" + 1 = "1"`, и в следующем случае `"1" + 0` работает то же самое правило.
2121
2. Вычитание `-` (как и большинство математических операторов) работает только с числами, пустая строка `""` приводится к `0`.
2222
3. Сложение со строкой превращает число `5` в строку и добавляет к строке.
2323
4. Вычитание всегда преобразует к числу, значит строка `" -9 "` становится числом `-9` (пробелы по краям обрезаются).
2424
5. `null` становится `0` после численного преобразования.
2525
6. `undefined` становится `NaN` после численного преобразования.
26-
7. Пробельные символы, такие как `\t` и `\n` по краям строки игнорируются при преобразовании в число, так что строка `\t \n`, аналогично пустой строке, становится `0` после численного преобразования.
26+
7. Пробельные символы, такие как `\t` и `\n`, по краям строки игнорируются при преобразовании в число, так что строка `" \t \n"`, аналогично пустой строке, становится `0` после численного преобразования.

1-js/02-first-steps/08-operators/3-primitive-conversions-questions/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ undefined + 1
2424
" \t \n" - 2
2525
```
2626

27-
Подумайте как следует. Когда закончите – сверьтесь с решением.
27+
Подумайте как следует, запишите ответы и сверьтесь с решением.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Причина в том, что окно запроса возвращает пользовательский ввод как строку.
2+
3+
Поэтому переменные получают значения `"1"` и `"2"` соответственно.
4+
5+
```js run
6+
let a = "1"; // prompt("Первое число?", 1);
7+
let b = "2"; // prompt("Второе число?", 2);
8+
9+
alert(a + b); // 12
10+
```
11+
12+
Нам нужно привести строки к числам перед применением оператора `+`. Например, с помощью `Number()` или вставки `+` перед ними.
13+
14+
Вставить `+` можно прямо перед `prompt`:
15+
16+
```js run
17+
let a = +prompt("Первое число?", 1);
18+
let b = +prompt("Второе число?", 2);
19+
20+
alert(a + b); // 3
21+
```
22+
23+
Или внутри `alert`:
24+
25+
```js run
26+
let a = prompt("Первое число?", 1);
27+
let b = prompt("Второе число?", 2);
28+
29+
alert(+a + +b); // 3
30+
```
31+
32+
В последнем варианте унарный и бинарный `+` используются вместе. Выглядит забавно, правда?
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
importance: 5
2+
3+
---
4+
5+
# Исправьте сложение
6+
7+
Ниже приведён код, который запрашивает у пользователя два числа и показывает их сумму.
8+
9+
Он работает неправильно. Код в примере выводит `12` (для значения полей по умолчанию).
10+
11+
В чём ошибка? Исправьте её. Результат должен быть `3`.
12+
13+
```js run
14+
let a = prompt("Первое число?", 1);
15+
let b = prompt("Второе число?", 2);
16+
17+
alert(a + b); // 12
18+
```

0 commit comments

Comments
 (0)