TypeScript · Middle · Pytanie 4 z 75
Jak otypować getProp(obj, key), by wynik zależał od klucza?
- ✓Poprawna odpowiedź:
function getProp<T, K extends keyof T>(obj: T, key: K): T[K] - 2
function getProp(obj: object, key: string): unknown - 3
function getProp<T>(obj: T, key: keyof any): T
Wyjaśnienie
K extends keyof T dopuszcza tylko istniejące klucze, a dostęp indeksowany T[K] daje dokładny typ wartości: getProp(user, 'age') → number. Wersja z any traci typowanie, a string przepuszcza literówki.