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
- Funkcje generyczne i ograniczenia (extends, parametry domyślne)
- Partial, Readonly, Record, Pick, Omit
- Typy keyof i dostępu indeksowanego — wprowadzenie