Skip to content

Fix possible typos, inaccuracies, omissions in 1.2.8 #109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Sep 16, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ undefined + 1 = NaN // (6)
" \t \n" - 2 = -2 // (7)
```

1. Додавання пустого рядка `""` до `1` перетворює число `1` на рядок: `"" + 1 = "1"`; далі ми маємо `"1" + 0`, в якому застосовується те ж саме правило.
1. Додавання пустого рядка `""` до `1` перетворює число `1` на рядок: `"" + 1 = "1"`; далі ми маємо `"1" + 0`, де застосовується те ж саме правило.
2. Віднімання `-` (як і більшість математичних операцій) працює тільки з числами, воно перетворює порожній рядок `""` на `0`.
3. Додавання з рядком додає число `5` до рядка.
4. Віднімання завжди перетворює рядки на числа, тому рядок `" -9 "` перетвориться на число `-9` (ігноруючи пробіли навколо нього).
4. Віднімання завжди перетворює на числа, тому рядок `" -9 "` перетвориться на число `-9` (ігноруючи пробіли навколо нього).
5. `null` стає `0` після числового перетворення.
6. `undefined` стає `NaN` після числового перетворення.
7. Символи пробілів по краях рядка ігноруються під час перетворення в число. Тому рядок, який містить лише символи `\t`, `\n`, або «звичайні» пробіли, прирівнюється до пустого рядка і стає `0` після числового перетворення.
7. Символи пробілів по краях рядка ігноруються під час перетворення в число. Тому рядок, який містить лише символи `\t`, `\n` або «звичайні» пробіли, прирівнюється до пустого рядка і стає `0` після числового перетворення.
26 changes: 13 additions & 13 deletions 1-js/02-first-steps/08-operators/4-fix-prompt/solution.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
The reason is that prompt returns user input as a string.
Причина в тому, що вікно запиту повертає ввід користувача як рядок.

So variables have values `"1"` and `"2"` respectively.
Отже змінні отримують значення `"1"` і `"2"` відповідно.

```js run
let a = "1"; // prompt("First number?", 1);
let b = "2"; // prompt("Second number?", 2);
let a = "1"; // prompt("Перше число?", 1);
let b = "2"; // prompt("Друге число?", 2);

alert(a + b); // 12
```

What we should do is to convert strings to numbers before `+`. For example, using `Number()` or
prepending them with `+`.
Нам треба перетворити рядки на числа перед застосуванням оператора `+`. Наприклад, за допомогою `Number()` або вставлення `+` перед ними.

For example, right before `prompt`:

Вставити `+` можна безпосередньо перед `prompt`:

```js run
let a = +prompt("First number?", 1);
let b = +prompt("Second number?", 2);
let a = +prompt("Перше число?", 1);
let b = +prompt("Друге число?", 2);

alert(a + b); // 3
```

Or in the `alert`:
Або всередині `alert`:

```js run
let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);
let a = prompt("Перше число?", 1);
let b = prompt("Друге число?", 2);

alert(+a + +b); // 3
```

Using both unary and binary `+` in the latest code. Looks funny, doesn't it?
В останньому варіанті унарний і бінарний `+` використовуються разом. Виглядає химерно, чи не так?
12 changes: 6 additions & 6 deletions 1-js/02-first-steps/08-operators/4-fix-prompt/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ importance: 5

---

# Fix the addition
# Виправте додавання

Here's a code that asks the user for two numbers and shows their sum.
Нижче наведено код, що просить користувача ввести два числа і відображає їх суму.

It works incorrectly. The output in the example below is `12` (for default prompt values).
Він працює невірно. Код в прикладі виводить `12` (для початкових значень в полях вводу).

Why? Fix it. The result should be `3`.
В чому помилка? Виправте її. Результат повинен бути `3`.

```js run
let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);
let a = prompt("Перше число?", 1);
let b = prompt("Друге число?", 2);

alert(a + b); // 12
```
Loading