Przejdź do treści
ConstructorParameters

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    Funkcje

    ConstructorParameters

    Wydobywa listę parametrów konstruktora jako krotkę.

    Czym jest

    Konstruktorowy odpowiednik `Parameters`. Dopasowuje sygnaturę `new`, wnioskuje krotkę między nawiasami i zachowuje etykiety parametrów oraz opcjonalność. Przydaje się, gdy fabryka lub rejestr ma przyjmować dokładnie argumenty przechowywanej klasy.

    Przykłady

    • ConstructorParameters<typeof Job>
      [id: number, name: string]
    • ConstructorParameters<abstract new (enabled: boolean) => object>
      [enabled: boolean]
    • ConstructorParameters<any>
      unknown[]

      `any` nie dostarcza konkretnej sygnatury konstruktora, więc bezpieczną krotką parametrów jest `unknown[]`.

    Każdy rozwinięty typ powyżej wypisał TypeScript 6.0.3, nie ręka człowieka.

    Czego nie robi

    • Przyjmuje typ wartości konstruktora, zwykle `typeof C`, a nie typ instancji `C`. To dwie strony nazwy klasy.
    • Dla przeciążonych konstruktorów widzi ostatnią sygnaturę, a nie unię wszystkich przeciążeń — tak samo jak `Parameters`.

    Wniosek

    Użyj `typeof C`, aby nazwać konstruktor klasy, a potem `ConstructorParameters`, by odzyskać to, co trafia do `new C(...)`.