Typy generyczne
Kurs TypeScript · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
Generyki pozwalają pisać funkcje działające z różnymi typami bez utraty informacji.
Jak to działa?
Parametr typu <T> jest określany na podstawie argumentu. Dzięki temu wynik pozostaje właściwego typu, zamiast zamieniać wszystko na any.
Przykład 1 — poznaj zapis
function first<T>(items: T[]): T | undefined {
return items[0];
}
const value = first([10, 20, 30]);
Typ value to number | undefined, ponieważ tablica może być pusta.
Przeczytaj kod linijka po linijce
function first<T>(items: T[]): T | undefined {Definiujemy funkcję lub metodę, której można użyć później.return items[0];Zwracamy wyliczoną wartość do miejsca wywołania funkcji.const value = first([10, 20, 30]);Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.
Brak tekstu w konsoli. Zmienna value ma wartość 10.
Przykład 2 — podobny problem, inne dane
Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.
function identity<T>(x: T): T { return x; }
console.log(identity("Hej"));
Hej
Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.
Spróbuj samodzielnie
Zapisz generyczną funkcję zwracającą ostatni element tablicy.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.