TypeScript · Senior · Frage 72 von 75
Warum sind explizite generische Einschränkungen besser als Casts in einer generischen Funktion?
function byId<T extends { id: string }>(items: T[], id: string): T | undefined {
return items.find((i) => i.id === id);
}- 1Einschränkungen sind nur Dokumentation für andere Leser
- 2Der Compiler prüft den Zugriff und hält
Tgenau - 3Casts kompilieren schneller als jede Einschränkung
Antwort zeigen
Richtige Antwort: Der Compiler prüft den Zugriff und hält T genau
Erklärung
Ein Cast ((i as any).id) versteckt Fehler; die Einschränkung dokumentiert und prüft die Anforderung.