You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> [Видео об этом паттерне 🌹](https://egghead.io/lessons/typescript-make-usages-of-this-safe-in-class-methods)
81
81
82
82
#### Совет: Необходимость стрелочных функций
83
-
Помимо краткого синтаксиса, вам *следует* использовать стрелочную функцию только в том случае, если хотите передать функцию кому-то для вызова. Фактически:
83
+
Помимо краткого синтаксиса, вам *следует* использовать стрелочную функцию только в том случае, если вы хотите передать функцию кому-то для вызова. Фактически:
84
84
```ts
85
85
var growOld =person.growOld;
86
86
// Позже кто-то вызовет ее:
@@ -99,7 +99,7 @@ person.growOld();
99
99
На самом деле, если вы хотите, чтобы *именно `this` был контекстом вызова*, тогда *не нужно использовать стрелочные функции*. Это относится к обратным вызовам, используемым библиотеками, типа jquery, underscore, mocha и другими. Если в документации указан вызов функции для `this`, тогда вам следует использовать обычную `function` вместо стрелочной функции. Точно также, если вы планируете использовать `arguments`, то не прибегайте к стрелочным функциям.
100
100
101
101
#### Совет: Стрелочные функции и библиотеки, которые используют `this`
102
-
Многие библиотеки используют `this`, например итератор в `jQuery` (один из примеров https://api.jquery.com/jquery.each/) будет использовать `this`, чтобы передать вам объект, который он в данный момент перебирает. В данном случае, если вам нужен доступ и к окружающему контекту, и к `this`, переданному из библиотеки, просто используйте дополнительную переменную, например `_self`,
102
+
Многие библиотеки используют `this`, например итератор в `jQuery` (один из примеров https://api.jquery.com/jquery.each/) будет использовать `this`, чтобы передать вам объект, который он в данный момент перебирает. В данном случае, если вам нужен доступ и к окружающему контексту, и к `this`, переданному из библиотеки, просто используйте дополнительную переменную, например `_self`,
103
103
для хранения ссылки на окружающий контекст.
104
104
105
105
```ts
@@ -163,7 +163,7 @@ var foo = () => {
163
163
```
164
164
парсится как *блок*, содержащий *JavaScript Label*, во время выполнения (в соответствии со спецификацией JavaScript).
165
165
166
-
> Вы в любом случае получите ошибку компилятора TypeScript о "неиспользуемой метке (label)". Метки - это старая (и в основном неиспользуемая) функция JavaScript, которую вы можете игнорировать как современный GOTO (которую опытные разработчики считают плохой 🌹).
166
+
> Вы в любом случае получите ошибку компилятора TypeScript о "неиспользуемой метке (label)". Метки - это старая (и в основном неиспользуемая) функция JavaScript, которую вы можете игнорировать как современный GOTO (который опытные разработчики считают плохим 🌹).
167
167
168
168
Вы можете исправить ошибку, обернув объект в `()`:
0 commit comments