facebook / facebook/flow

`typeof A` vs `Class<A>`

Offen
#1,652 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Needs docs
Vorherrschende Sprache
Rust
Sterne
22.3k
Forks
1.9k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Ran into this one a little bit ago while working on a Bluebird lib:

According to the documentation:

> Given a type T representing instances of a class C, the type Class is the type of the class C.

So it would stand to reason that a definition like this should work:

``` js
declare module 'bluebird' {
class BluebirdPromise {
// ....
}
declare var exports: Class;
}
```

Yet this throws all kinds of errors about polymorphic types not equaling class types.

The solution is to export:

``` js
declare var exports: typeof BluebirdPromise;
```

When should one use `Class` vs `typeof`?

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.