0Pricing
TypeScript Academy · Lekcja

Typy warunkowe

Poznaj typy warunkowe, które pozwalają dynamicznie dostosowywać typy na podstawie warunków oraz tworzyć elastyczne i wielokrotnego użytku definicje typów

Typy warunkowe to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej TypeScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs TypeScript Academy zawiera 3 lekcji w sumie.

Wprowadzenie do typów warunkowych

Wprowadzenie do typów warunkowych

Typy warunkowe w TypeScript pozwalają tworzyć typy, które dynamicznie dostosowują się na podstawie warunku, dzięki czemu kod staje się bardziej elastyczny i można go ponownie wykorzystywać.

Używają składni podobnej do operatora warunkowego (ternary) w JavaScript.

Typy warunkowe — ilustracja 1

Czym są typy warunkowe

Czym są typy warunkowe

Typy warunkowe pozwalają definiować typ zależny od innego typu. Podstawowa składnia wygląda następująco:

T extends U ? X : Y

Oznacza to: jeśli T rozszerza U, typem jest X, w przeciwnym razie jest nim Y.

Podstawowy przykład typów warunkowych

Podstawowy przykład typów warunkowych

Oto prosty przykład:

type IsString<T> = T extends string ? 'Yes' : 'No';

// Test cases
type A = IsString<string>; // 'Yes'
type B = IsString<number>; // 'No'

Używanie typów warunkowych w przeciążeniach funkcji

Używanie typów warunkowych w przeciążeniach funkcji

Typy warunkowe mogą uprościć przeciążenia funkcji, dynamicznie określając typy zwracane:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;

function getData(): string {
  return 'Hello';
}

type DataType = ReturnType<typeof getData>; // string

Rozdzielne typy warunkowe

Rozdzielne typy warunkowe

Gdy typy warunkowe są stosowane do typów unii, są rozdzielane na poszczególne elementy unii:

type ToArray<T> = T extends any ? T[] : never;

type A = ToArray<string | number>;
// A = string[] | number[]

Łączenie typów warunkowych z typami mapowanymi

Łączenie typów warunkowych z typami mapowanymi

Typy warunkowe można łączyć z typami mapowanymi, aby wykonywać zaawansowane transformacje typów:

type User = {
  id: number;
  name: string;
  isAdmin?: boolean;
};

type MakeRequired<T> = {
  [K in keyof T]-?: T[K] extends undefined ? never : T[K];
};

type RequiredUser = MakeRequired<User>;
// { id: number; name: string; isAdmin: never; }

Typowe zastosowania typów warunkowych

Typowe zastosowania typów warunkowych

Typy warunkowe są często używane do:

  • Wnioskowania typów zwracanych lub parametrów.
  • Przekształcania unii i przecięć.
  • Tworzenia typów użytkowych, takich jak Exclude, Extract i NonNullable.

Zadanie praktyczne

Zadanie praktyczne

Utwórz typ warunkowy, który sprawdza, czy dany typ jest tablicą, i jeśli tak, zwraca typ jej elementów; w przeciwnym razie zwraca sam typ.

Gratulacje!

Gratulacje!

Nauczyli się Państwo używać typów warunkowych do tworzenia dynamicznych i wielokrotnego użytku definicji typów w TypeScript. Proszę przećwiczyć te zagadnienia, aby pisać bardziej zaawansowany i elastyczny kod TypeScript!

Typy warunkowe — ilustracja 10

Często zadawane pytania

Czy lekcja „Typy warunkowe” jest bezpłatna?

Tak — pełny tekst „Typy warunkowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu TypeScript Academy, przejdź na CoddyKit PRO. Kurs TypeScript Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Typy warunkowe”?

Poznaj typy warunkowe, które pozwalają dynamicznie dostosowywać typy na podstawie warunków oraz tworzyć elastyczne i wielokrotnego użytku definicje typów Ćwiczysz TypeScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć TypeScript Academy?

Nie wymagamy żadnego doświadczenia. TypeScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.

Ile czasu zajmuje lekcja „Typy warunkowe”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji TypeScript Academy?

Tak. Każda lekcja TypeScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zaawansowane zawężanie typów
  2. Zaawansowane funkcje klas
  3. Typy warunkowe
← Powrót do TypeScript Academy