Typy mapowane
Dowiedz się, jak przekształcać istniejące typy w nowe za pomocą typów mapowanych, zyskując elastyczność w obsłudze dynamicznych struktur danych
Typy mapowane to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 2 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 mapowanych
Wprowadzenie do typów mapowanych
Typy mapowane umożliwiają przekształcanie istniejących typów w nowe przez zastosowanie operacji do każdej właściwości typu.
Są przydatne do tworzenia elastycznych struktur typów, które można wielokrotnie wykorzystywać w TypeScript.

Czym są typy mapowane?
Czym są typy mapowane?
Typy mapowane wykorzystują składnię taką jak { [P in keyof T]: T[P] }, aby iterować po właściwościach typu T.
Podstawowy przykład typów mapowanych
Podstawowy przykład typów mapowanych
Oto prosty przykład użycia typu mapowanego do utworzenia wersji typu przeznaczonej tylko do odczytu:
type User = {
name: string;
age: number;
};
type ReadonlyUser = {
readonly [P in keyof User]: User[P];
};Korzystanie z wbudowanych typów mapowanych
Korzystanie z wbudowanych typów mapowanych
TypeScript udostępnia kilka wbudowanych typów mapowanych, takich jak:
Readonly<T>: sprawia, że wszystkie właściwości typuTsą tylko do odczytu.Partial<T>: sprawia, że wszystkie właściwości typuTsą opcjonalne.Required<T>: sprawia, że wszystkie właściwości typuTsą wymagane.
type User = {
name: string;
age: number;
};
// Example of Partial
const user: Partial<User> = {
name: 'John',
};Mapowanie typów unii
Mapowanie typów unii
Typów mapowanych można również używać z typami unii, aby tworzyć nowe, połączone typy:
type Status = 'active' | 'inactive';
type StatusFlags = {
[K in Status]: boolean;
};
const flags: StatusFlags = {
active: true,
inactive: false,
};Warunkowe typy mapowane
Warunkowe typy mapowane
Typów warunkowych można używać razem z typami mapowanymi do tworzenia bardziej złożonych przekształceń typów.
type User = {
name: string;
age?: number;
};
type NonOptional<T> = {
[K in keyof T]-?: T[K];
};
type RequiredUser = NonOptional<User>;Zaawansowany przykład: wykluczanie właściwości
Zaawansowany przykład: wykluczanie właściwości
Oto sposób tworzenia typu mapowanego wykluczającego określone właściwości:
type User = {
id: number;
name: string;
password: string;
};
type PublicUser = {
[K in keyof User as Exclude<K, 'password'>]: User[K];
};Zadanie praktyczne
Zadanie praktyczne
Należy utworzyć typ mapowany, który doda modyfikator readonly do wszystkich właściwości typu Product. Następnie należy go przetestować, deklarując zmienną nowego typu.
Powtórzenie typów mapowanych
Gratulacje!
Nauczyli się Państwo używać typów mapowanych do dynamicznego przekształcania istniejących typów w nowe. Proszę ćwiczyć te techniki, aby jeszcze zwiększyć możliwości kodu TypeScript!

Często zadawane pytania
Czy lekcja „Typy mapowane” jest bezpłatna?
Tak — pełny tekst „Typy mapowane” 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 mapowane”?
Dowiedz się, jak przekształcać istniejące typy w nowe za pomocą typów mapowanych, zyskując elastyczność w obsłudze dynamicznych struktur danych Ć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 2 z 3.
Ile czasu zajmuje lekcja „Typy mapowane”?
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
- Typy Keyof i lookup
- Typy mapowane
- Typy przecięcia i sumy