TypeScript · Senior · Pytanie 31 z 75
Jak z wartości pobrać typ elementu Set<T> lub Map<K, V>?
const ids = new Set(['a', 'b']);
type Id = typeof ids extends Set<infer T> ? T : never;- ✓Poprawna odpowiedź: Typem warunkowym z
inferna wzorcuSet<infer T> - 2Dostępem indeksowanym
(typeof ids)[number] - 3Narzędziem
ElementType<typeof ids>ze standardowej biblioteki
Wyjaśnienie
Set nie ma liczbowego index signature, więc [number] nie działa. Typ warunkowy z infer wyciąga parametr dowolnego generyka: Map<infer K, infer V>, Promise<infer R>. Wbudowanego ElementType nie ma. Tu Id to string.