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>→NumberThisParameterType<(this: { id: string }) => void>["id"]→stringThisParameterType<(value: number) => void>
→unknownBrak 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.
