0Pricing
TypeScript Academy · Lekcja

Typy keyof i dostępu indeksowanego — wprowadzenie

Używanie keyof do tworzenia unii nazw właściwości oraz typów dostępu indeksowanego (T[K] / T["prop"]) do bezpiecznego odczytywania typów właściwości

Typy keyof i dostępu indeksowanego — wprowadzenie 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

Cel: Tworzyć bezpieczniejsze funkcje pomocnicze za pomocą keyof (unii nazw właściwości) i dostępu indeksowanego (T[K]) do odczytywania typów właściwości.

keyof

keyof tworzy unię nazw właściwości typu, na przykład "id" | "name" | "email".

interface User {
  id: number;
  name: string;
  email?: string;
}

type UserKeys = keyof User;  // "id" | "name" | "email"

keyof typeof

Należy użyć keyof typeof, aby pobrać klucze z wartości (obiektu) na potrzeby typowania parametrów.

const SETTINGS = {
  theme: "dark",
  lang: "en",
} as const;

type SettingKey = keyof typeof SETTINGS; // "theme" | "lang"

Dostęp indeksowany

Dostęp indeksowany zwraca typ właściwości: User["name"] ma typ string.

interface User {
  id: number;
  name: string;
  email?: string;
}

type NameType = User["name"]; // string

Funkcja pomocnicza getProperty

Należy połączyć keyof z K extends keyof T, aby ograniczyć klucze i zwracać precyzyjny typ T[K].

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

const u = { id: 1, name: "Ada" };
const v1 = getProperty(u, "name"); // string
const v2 = getProperty(u, "id");   // number
console.log(v1.toUpperCase(), v2.toFixed(0));

Wskazówki

Wskazówki:

  • W przypadku kluczy pochodzących z obiektów należy preferować keyof typeof.
  • Należy używać T[K], aby odzwierciedlać typy właściwości bez powielania modeli.
  • Należy unikać kluczy opartych wyłącznie na napisach; dla bezpieczeństwa warto korzystać z unii.

Sprawdzenie dostępu indeksowanego

Szybkie sprawdzenie: Co reprezentuje T[K]?

Podsumowanie

Podsumowanie: keyof tworzy unie kluczy, keyof typeof wyprowadza klucze z wartości, a T[K] odczytuje typy właściwości — to idealne narzędzia do tworzenia bezpiecznych funkcji pomocniczych.

Często zadawane pytania

Czy lekcja „Typy keyof i dostępu indeksowanego — wprowadzenie” jest bezpłatna?

Tak — pełny tekst „Typy keyof i dostępu indeksowanego — wprowadzenie” 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 keyof i dostępu indeksowanego — wprowadzenie”?

Używanie keyof do tworzenia unii nazw właściwości oraz typów dostępu indeksowanego (T[K] / T["prop"]) do bezpiecznego odczytywania typów właściwości Ć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 keyof i dostępu indeksowanego — wprowadzenie”?

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. Funkcje generyczne i ograniczenia (extends, parametry domyślne)
  2. Partial, Readonly, Record, Pick, Omit
  3. Typy keyof i dostępu indeksowanego — wprowadzenie
← Powrót do TypeScript Academy