Generics — po co parametr typu zamiast any?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Generics zachowują zależność między typami, zamiast ją usuwać przez any.
TypeScript
function first<T>(items: readonly T[]): T | undefined {
return items[0];
}
const name = first(['Anna', 'Ola']); // string | undefined
interface ApiResult<T> {
data: T;
requestId: string;
}Doprecyzowanie: T jest parametrem typu; kompilator często sam go wywnioskuje. Dla operacji wymagającej id można ograniczyć T przez extends { id: string }.
Pułapka: funkcja fetchJson<T> nie dowodzi, że odpowiedź z sieci ma typ T. Walidacja danych pozostaje osobnym krokiem.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- B-P13 · Co to jest typ generyczny? — JavaScript, TypeScript i Node.js