Skip to content

Commit 9f15350

Browse files
committed
feat(1-04-object-basics): Fix language mistakes in 09-object-toprimitive
1 parent 4df5cd1 commit 9f15350

File tree

1 file changed

+6
-6
lines changed
  • 1-js/04-object-basics/09-object-toprimitive

1 file changed

+6
-6
lines changed

1-js/04-object-basics/09-object-toprimitive/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ JavaScript не дозволяє налаштувати, як працюють
1818
У нас є два цілі:
1919

2020
1. Це дозволить нам зрозуміти, що відбувається у випадку помилок коду, коли така операція відбулася випадково.
21-
2. Є винятки, де такі операції можливі і доцільні. Наприклад, віднімання або порівняння дати (`Date` об’єкти). Ми будемо зустрічатися з ними пізніше.
21+
2. Є винятки, де такі операції можливі та доцільні. Наприклад, віднімання або порівняння дати (`Date` об’єкти). Ми будемо зустрічатися з ними пізніше.
2222

2323
## Правила перетворення
2424

@@ -85,7 +85,7 @@ JavaScript не дозволяє налаштувати, як працюють
8585

8686
Але на практиці все трохи простіше.
8787

88-
Всі вбудовані об’єкти, крім одного випадку (об’єкт `Date`, ми дізнаємося пізніше) реалізовують `"default"` перетворення так само, як `"number"`. І ми можемо зробити те ж саме.
88+
Всі вбудовані об’єкти, крім одного випадку (об’єкт `Date`, ми дізнаємося пізніше) реалізовують `"default"` перетворення так само як `"number"`. І ми можемо зробити те ж саме.
8989

9090
Проте важливо знати про всі три підказки, незабаром ми побачимо, чому.
9191

@@ -99,7 +99,7 @@ JavaScript не дозволяє налаштувати, як працюють
9999

100100
## Symbol.toPrimitive
101101

102-
Почнемо з першого методу. Є вбудований символ під назвою `Symbol.toPrimitive`, який слід використовувати для назви методу перетворення, як наприклад:
102+
Почнемо з першого методу. Є вбудований символ під назвою `Symbol.toPrimitive`, який слід використовувати для назви методу перетворення, як, наприклад:
103103

104104
```js
105105
obj[Symbol.toPrimitive] = function(hint) {
@@ -130,7 +130,7 @@ alert(+user); // hint: number -> 1000
130130
alert(user + 500); // hint: default -> 1500
131131
```
132132

133-
Як ми бачимо з коду, `user` стає самоописаним рядком або грошовою сумою залежно від перетворення. Єдиний метод `[Symbol.toPrimitive]` об’єкту `user` обробляє всі випадки перетворення.
133+
Як ми бачимо з коду, `user` стає само описаним рядком або грошовою сумою залежно від перетворення. Єдиний метод `[Symbol.toPrimitive]` об’єкту `user` обробляє всі випадки перетворення.
134134

135135
## toString/valueOf
136136

@@ -189,7 +189,7 @@ alert(user + 500); // valueOf -> 1500
189189

190190
Як ми бачимо, поведінка така ж, як і в попередньому прикладі з `Symbol.toPrimitive`.
191191

192-
Часто ми хочемо, щоб в одному місці перехоплювалися та оброблялися всі перетворення в примітиви. У цьому випадку ми можемо реалізувати `toString`, як наприклад:
192+
Часто ми хочемо, щоб в одному місці перехоплювалися та оброблялися всі перетворення в примітиви. У цьому випадку ми можемо реалізувати `toString`, як, наприклад:
193193

194194
```js run
195195
let user = {
@@ -263,7 +263,7 @@ alert(obj + 2); // 22 ("2" + 2), перетворення до примітив
263263
Є 3 типи (підказки) цього:
264264
- `"string"` (для `alert` та інших операцій, які потребують рядка)
265265
- `"number"` (для математичних операцій)
266-
- `"default"` (кілька операторів, зазвичай об’єкти реалізують це так само, як і `"number"`.)
266+
- `"default"` (кілька операторів, зазвичай об’єкти реалізують це так само як і `"number"`.)
267267

268268
Специфікація явно описує, який оператор використовує яку підказку.
269269

0 commit comments

Comments
 (0)