Skip to content
Merged
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
18 changes: 9 additions & 9 deletions 1-js/02-first-steps/07-type-conversions/article.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Перетворення типу

У більшості випадків оператори та функції автоматично перетворюють значення, які їм надаються, на потрібний тип.
Здебільшого оператори та функції автоматично перетворюють значення, які їм надаються, на потрібний тип.

Наприклад, `alert` автоматично перетворює будь-яке значення в рядок, щоб показати його. Математичні операції перетворюють значення на числа.
Наприклад, `alert` автоматично перетворює будь-яке значення в рядок, щоби показати його. Математичні операції перетворюють значення на числа.

Є також випадки, коли нам необхідно явно перетворити значення на очікуваний тип.

```smart header="Поки що не говоримо про об'єкти"
В цьому розділі ми не будемо охоплювати об'єкти. Поки що ми поговоримо тільки про примітиви.
У цьому розділі ми не будемо охоплювати об'єкти. Поки що ми поговоримо тільки про примітиви.

Пізніше, після ознайомлення з об'єктами, ми розглянемо їх перетворення в розділі <info:object-toprimitive>.
Пізніше, після ознайомлення з об'єктами, ми розглянемо їхнє перетворення в розділі <info:object-toprimitive>.
```

## Перетворення на рядок

Перетворення на рядок відбувається, коли нам потрібне значення у формі рядка.

Наприклад, `alert(value)` робить це, щоб показати значення.
Наприклад, `alert(value)` робить це, щоби показати значення.

Також ми можемо викликати функцію `String(value)` для перетворення значення в рядок:

Expand All @@ -30,7 +30,7 @@ alert(typeof value); // string
*/!*
```

Перетворення рядків у більшості випадків очевидне. `false` стає `"false"`, `null` стає `"null"` тощо.
Перетворення рядків здебільшого очевидне. `false` стає `"false"`, `null` стає `"null"` тощо.

## Перетворення на число

Expand Down Expand Up @@ -70,7 +70,7 @@ alert(age); // NaN, помилка перетворення
|`undefined`|`NaN`|
|`null`|`0`|
|<code>true&nbsp;та&nbsp;false</code> | `1` та `0` |
| `string` | Пробіли на початку та з кінця видаляються. Якщо рядок, що залишився у результаті, порожній, то результатом є `0`. В іншому випадку число "читається" з рядка. Помилка дає `NaN`. |
| `string` | Пробіли на початку та з кінця видаляються. Якщо рядок, що залишився в результаті, порожній, то результатом є `0`. В іншому випадку число "читається" з рядка. Помилка дає `NaN`. |

Приклади:

Expand Down Expand Up @@ -106,7 +106,7 @@ alert( Boolean("вітаю") ); // true
alert( Boolean("") ); // false
```

````warn header="Зверніть увагу: рядок з нулем `\"0\"` є `true`"
````warn header="Зверніть увагу: рядок із нулем `\"0\"` є `true`"
Деякі мови (а саме PHP) розглядають `"0"` як `false`. Але у JavaScript непустий рядок завжди `true`.

```js run
Expand Down Expand Up @@ -142,7 +142,7 @@ alert( Boolean(" ") ); // пробіли, також true (будь-які не
|будь-які інші значення| `true` |


Більшість з цих правил легко зрозуміти і запам'ятати. Примітними винятками, де люди зазвичай роблять помилки, є:
Більшість із цих правил легко зрозуміти й запам'ятати. Примітними винятками, де люди зазвичай роблять помилки, є:

- `undefined` є `NaN` як число, а не `0`.
- `"0"` і рядки, що мають тільки пробіли, такі як `" "`, є `true` як булеві значення.
Expand Down