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;

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.

Do poczytania

Błąd w pytaniu

TypeScript · Senior · pytanie 31

Sprawdź się

Rozwiąż test TypeScript · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test