Тип потока typeof класс не работает, как ожидалось - PullRequest
0 голосов
/ 08 ноября 2019

Код ниже не проверяет тип. Ошибка говорит:

"Невозможно назначить new YourClass() для test1, поскольку YourClass [1] несовместимо с классом YourClass [2]."

/* @flow */

class YourClass {
  method(){}
}

let test1: typeof YourClass = new YourClass();

Что именноtypeof SomeClass выводит?

Может кто-нибудь объяснить, что происходит?

1 Ответ

0 голосов
/ 08 ноября 2019

typeof YourClass - это тип самой функции конструктора, поэтому следующие проверки типов:

let test1: typeof YourClass = YourClass;

это может быть полезно, если вам нужно передать конструктор, а у вашего класса есть подклассы, например,

class Subclass extends YourClass {}

let test1: typeof YourClass = Subclass;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...