Skip to content

Commit 3e7a017

Browse files
authored
Apply suggestions from code review
1 parent 2c0740b commit 3e7a017

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

1-js/06-advanced-functions/10-bind/3-second-bind/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ f = f.bind( {name: "Іван"} ).bind( {name: "Христя"} );
1010
f(); // Іван
1111
```
1212

13-
`f.bind(...)` повертає [екзотичний об'єкт прив’язану функцію](https://tc39.github.io/ecma262/#sec-bound-function-exotic-objects), в якому запам’ятовується контекст (та аргументи, якщо передані) тільки під час створення.
13+
`f.bind(...)` повертає [екзотичний об'єкт прив’язаної функції](https://tc39.github.io/ecma262/#sec-bound-function-exotic-objects), в якому запам’ятовується контекст (та аргументи, якщо передані) тільки під час створення.
1414

1515
Функція не може бути переприв’язана.

1-js/06-advanced-functions/10-bind/6-ask-partial/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ askPassword(?, ?); // ?
3030
*/!*
3131
```
3232
33-
Вносьте зміни тільки у виділений рядок.
33+
Змінюйте лише виділений рядок.
3434

1-js/06-advanced-functions/10-bind/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ let f = user.sayHi;
3737
setTimeout(f, 1000); // втрата контексту об’єкта user
3838
```
3939

40-
Метод `setTimeout` в браузері трохи особливий: він встановлює `this=window` під час виклику функції (в Node.js `this` стає об’єкт таймеру, але це всеодно не те, що нам потрібно). Таким чином для `this.firstName` метод намагається отримати `window.firstName`, якого не існує. В інших схожих випадках, зазвичай `this` просто стає `undefined`.
40+
Метод `setTimeout` в браузері трохи особливий: він встановлює `this=window` під час виклику функції (в Node.js `this` стає об’єкт таймеру, але це все одно не те, що нам потрібно). Таким чином для `this.firstName` метод намагається отримати `window.firstName`, якого не існує. В інших схожих випадках, зазвичай `this` просто стає `undefined`.
4141

4242
Задача досить типова -- ми хочемо передати метод об’єкту деінде (в цьому випадку -- в планувальник) де він буде викликаний. Як бути впевненими в тому, що цей метод об'єкта буде викликаний з правильним контекстом?
4343

@@ -173,7 +173,7 @@ user = {
173173
};
174174
```
175175

176-
В рядку `(*)` ми взяли метод `user.sayHi` та прив’язали його до `user`. `sayHi` є "прив’язаною" функцією, що може бути викликана окремо або передана до `setTimeout`. Не важливо де вона буде викликана, контекстом у неї буде вказаний нами.
176+
В рядку `(*)` ми взяли метод `user.sayHi` та прив’язали його до `user`. `sayHi` є "прив’язаною" функцією, що може бути викликана окремо або передана до `setTimeout`. Не важливо де вона буде викликана, контекст буде заданий нами.
177177

178178
В цьому прикладі ми бачимо, що аргументи передані "як є", тільки `this` змінено за допомогою `bind`:
179179

@@ -247,7 +247,7 @@ alert( double(5) ); // = mul(2, 5) = 10
247247
248248
Це називається [часткове застосування](https://en.wikipedia.org/wiki/Partial_application) -- ми створюємо нову функцію прив'язавши деякі параметри існуючої.
249249
250-
Зверніть увагу, що ми не використовували `this` в цьому прикладі. Проте `bind` вимагає першим аргументом щось, що буде прив'язане як `this`, тому ми муисимо передати щось як заглушку -- `null`.
250+
Зверніть увагу, що ми не використовували `this` в цьому прикладі. Проте `bind` вимагає першим аргументом щось, що буде прив'язане як `this`, тому ми мусимо передати щось як заглушку -- `null`.
251251
252252
Функція `triple` в коді нижче потроює значення:
253253

0 commit comments

Comments
 (0)