0Pricing
TypeScript Academy · Lekcja

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 readonly

Usuwanie 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 again

Dodawanie 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 optional

Usuwanie 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 again

Sprawdzenie 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

  1. Typy mapowane z +/-readonly i +/-?
  2. Zmiana mapowania kluczy i typy literałów szablonowych
  3. Typowanie wzorców tekstowych (parametry tras, nazwy zdarzeń)
← Powrót do TypeScript Academy