Operatory
T[K]
Odczytuje typ właściwości z typu obiektu.
Czym jest
Druga połowa keyof. Przyjmuje typ klucza — nie *nazwę* klucza, tylko typ — i dlatego można mu podać unię, a on odpowie unią. Ten jeden fakt sprawia, że T[keyof T] znaczy „wszystkie typy wartości” bez żadnej iteracji.
Przykłady
User['id']→numberUser['id' | 'name']→string | numberUser[keyof User]→string | number | booleanWszystkie typy wartości naraz — i powód, dla którego prawie nigdy nie trzeba iterować, by je zebrać.
Każdy rozwinięty typ powyżej wypisał TypeScript 6.0.3, nie ręka człowieka.
Czego nie robi
- Nie używa notacji z kropką.
User.idnie jest typem — dostęp indeksowany zapisuje się zawsze nawiasami i *typem* klucza, więcUser["id"]w cudzysłowie. - Nie toleruje klucza, którego nie potrafi zweryfikować. Indeksowanie nieograniczonym parametrem typu to TS2536, a naprawą jest ograniczenie, nie rzutowanie.
Wniosek
T[number] na krotce albo tablicy daje typ elementu — ta sama sztuczka zastosowana do liczbowego zbioru kluczy. To najprzydatniejszy dostęp indeksowany, jaki istnieje.

