Typy mapowane z +/-readonly i +/-?
Poznanie typów mapowanych i modyfikatorów (+/-readonly, +/-optional) do tworzenia elastycznych wariantów struktur obiektów
Typy mapowane z +/-readonly i +/-? to bezpłatna lekcja TypeScript Academy na CoddyKit. To lekcja 1 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
Cel: Poznanie typów mapowanych z modyfikatorami, które pozwalają systematycznie zmieniać właściwości obiektów. Umożliwiają one tworzenie wersji typów z właściwościami readonly, opcjonalnymi lub wymaganymi.
Podstawowy typ mapowany
Typ mapowany iteruje po kluczach i ponownie wykorzystuje typy właściwości. To podstawa transformacji.
type Options = { a: string; b: number }
type Clone<T> = { [K in keyof T]: T[K] }
type Copy = Clone<Options> // { a: string; b: number }Dodawanie readonly
Użycie +readonly wymusza niezmienność. Każda właściwość staje się readonly.
type ReadonlyT<T> = { [K in keyof T]+readonly: T[K] }
interface User { id: number; name: string }
type Locked = ReadonlyT<User> // all props readonlyUsuwanie readonly
Użycie -readonly usuwa niezmienność i przywraca możliwość modyfikowania właściwości.
type Mutable<T> = { [K in keyof T]-readonly: T[K] }
type Editable = Mutable<Locked> // props writable againDodawanie opcjonalności
Umieszczenie ? za właściwością oznacza, że jest ona opcjonalna. Jest to przydatne podczas aktualizowania konfiguracji.
type PartialT<T> = { [K in keyof T]?: T[K] }
interface Settings { dark: boolean; lang: string }
type Maybe = PartialT<Settings> // props optionalUsuwanie opcjonalności
Użycie -? usuwa opcjonalność i wymusza obecność właściwości.
type RequiredT<T> = { [K in keyof T]-?: T[K] }
type Strict = RequiredT<Maybe> // props required againSprawdzenie usuwania readonly
Szybkie sprawdzenie: Jaka składnia typu mapowanego usuwa readonly z właściwości?
Podsumowanie
Podsumowanie: Typy mapowane umożliwiają stosowanie transformacji do właściwości: +/-readonly oraz +/-? służą do określania zmienności i opcjonalności. Stanowią one podstawę typów Partial, Required i Readonly.
Często zadawane pytania
Czy lekcja „Typy mapowane z +/-readonly i +/-?” jest bezpłatna?
Tak — pełny tekst „Typy mapowane z +/-readonly i +/-?” 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 z +/-readonly i +/-?”?
Poznanie typów mapowanych i modyfikatorów (+/-readonly, +/-optional) do tworzenia elastycznych wariantów struktur obiektó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 1 z 3.
Ile czasu zajmuje lekcja „Typy mapowane z +/-readonly i +/-?”?
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 mapowane z +/-readonly i +/-?
- Zmiana mapowania kluczy i typy literałów szablonowych
- Typowanie wzorców tekstowych (parametry tras, nazwy zdarzeń)