Przejdź do treści
ThisParameterType

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    Funkcje

    ThisParameterType

    Wydobywa jawny parametr `this` z typu funkcji.

    Czym jest

    Warunkowy ekstraktor specjalnego, sztucznego pierwszego parametru TypeScriptu. Jawna adnotacja `this` uczestniczy w sprawdzaniu typów, ale znika z JavaScriptu i nie należy do `Parameters<T>`, więc wrapper lub binder potrzebuje osobnego narzędzia, by ją odzyskać.

    Przykłady

    • ThisParameterType<typeof toHex>
      Number
    • ThisParameterType<(this: { id: string }) => void>["id"]
      string
    • ThisParameterType<(value: number) => void>
      unknown

      Brak jawnego parametru `this` daje `unknown`, a nie obiekt globalny czy klasę zawierającą.

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

    Czego nie robi

    • Nie zwraca pierwszego zwykłego parametru. `this` ma własną składnię i nigdy nie pojawia się na emitowanej liście argumentów.
    • Nie potrafi odkryć odbiorcy czasu wykonania, gdy typ funkcji nie ma jawnej adnotacji; bezpieczną odpowiedzią jest wtedy `unknown`.

    Wniosek

    Jawny parametr `this` istnieje tylko w typach i jest oddzielony od zwykłych parametrów; `ThisParameterType` wydobywa właśnie to osobne miejsce.