TypeScript · Senior · Pytanie 72 z 75

Dlaczego jawne ograniczenia generyków są lepsze od rzutowania wewnątrz funkcji generycznej?

function byId<T extends { id: string }>(items: T[], id: string): T | undefined {
  return items.find((i) => i.id === id);
}

Wyjaśnienie

Rzutowanie ((i as any).id) ukrywa błędy; ograniczenie dokumentuje i sprawdza wymaganie.

Do poczytania

Błąd w pytaniu

TypeScript · Senior · pytanie 72

Sprawdź się

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

Rozwiąż ten test