#typescript #rxjs
Вопрос:
Недавно, когда я использую Rxjs 5, я загрузил Rxjs с помощью установки npm Rxjs@5.0.1, из загруженного кода в разделе node_modules я нашел Observable.d.ts в папке Rxjs, я видел, как он объявляет свой конструктор, как показано ниже:
*
* @constructor
* @param {Function} subscribe the function that is called when the Observable is
* initially subscribed to. This function is given a Subscriber, to which new values
* can be `next`ed, or an `error` method can be called to raise an error, or
* `complete` can be called to notify of a successful completion.
*/
constructor(subscribe?: <R>(this: Observable<T>, subscriber: Subscriber<R>) => TeardownLogic);
Мой вопрос: каково использование этого ключевого слова в объявлении типа функции subscribe?: (это: Наблюдаемо, …), Есть ли у TypeScript какая-либо документация для использования этого ключевого слова, как здесь? Спасибо.
Ответ №1:
Вы можете (начиная с версии 2.0 typescript) указать, что this
вы ожидаете при вызове функции.
Как описано в разделе Указание типа этого для функций:
После указания типа этого в классе или интерфейсе функции и методы теперь могут объявлять тип этого, который они ожидают.
По умолчанию тип этого внутри функции-любой. Начиная с TypeScript 2.0, вы можете указать явный этот параметр. эти параметры являются поддельными параметрами, которые стоят первыми в списке параметров функции
Обратите внимание, что это не будет переведено в js, поэтому это не настоящий аргумент в функции.
Комментарии:
1. Спасибо, помогите мне найти документацию.