keyof-/Indexed-Access-Typen (Einführung)
Verwenden Sie keyof, um Unions aus Eigenschaftsnamen zu erstellen, und Indexed-Access-Typen (T[K] / T["prop"]), um Eigenschaftstypen sicher auszulesen.
keyof-/Indexed-Access-Typen (Einführung) ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des TypeScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der TypeScript Academy-Kurs umfasst insgesamt 3 Lektionen.
Einführung
Ziel: Erstellen Sie sicherere Hilfsfunktionen mit keyof (Unions von Eigenschaftsnamen) und indiziertem Zugriff (T[K]), um Eigenschaftstypen auszulesen.
keyof
keyof erzeugt eine Union aus den Eigenschaftsnamen eines Typs (z. B. "id" | "name" | "email").
interface User {
id: number;
name: string;
email?: string;
}
type UserKeys = keyof User; // "id" | "name" | "email"keyof typeof
Verwenden Sie keyof typeof, um für die Parametertypisierung die Schlüssel eines Werts (Objekts) zu ermitteln.
const SETTINGS = {
theme: "dark",
lang: "en",
} as const;
type SettingKey = keyof typeof SETTINGS; // "theme" | "lang"Indizierter Zugriff
Indizierter Zugriff gibt den Typ einer Eigenschaft zurück: User["name"] ist string.
interface User {
id: number;
name: string;
email?: string;
}
type NameType = User["name"]; // string
getProperty-Hilfsfunktion
Kombinieren Sie keyof mit K extends keyof T, um Schlüssel zu begrenzen und den präzisen Typ T[K] zurückzugeben.
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));Tipps
Tipps:
- Bevorzugen Sie keyof typeof für Schlüssel aus Objekten.
- Verwenden Sie T[K], um Eigenschaftstypen ohne doppelte Modelle abzubilden.
- Vermeiden Sie stringbasierte Schlüssel; verlassen Sie sich für mehr Sicherheit auf Unions.
Prüfung des indizierten Zugriffs
Kurzer Test: Was stellt T[K] dar?
Zusammenfassung
Zusammenfassung: keyof liefert Unions von Schlüsseln; keyof typeof leitet Schlüssel aus Werten ab; T[K] liest Eigenschaftstypen aus – ideal für sichere Hilfsfunktionen.
Häufig gestellte Fragen
Ist die Lektion „keyof-/Indexed-Access-Typen (Einführung)“ kostenlos?
Ja — der vollständige Text von „keyof-/Indexed-Access-Typen (Einführung)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des TypeScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der TypeScript Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „keyof-/Indexed-Access-Typen (Einführung)“?
Verwenden Sie keyof, um Unions aus Eigenschaftsnamen zu erstellen, und Indexed-Access-Typen (T[K] / T["prop"]), um Eigenschaftstypen sicher auszulesen. Du übst TypeScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um TypeScript Academy zu starten?
Keine Vorkenntnisse erforderlich. TypeScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.
Wie lange dauert die Lektion „keyof-/Indexed-Access-Typen (Einführung)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser TypeScript Academy-Lektion Code schreiben und ausführen?
Ja. Jede TypeScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Generische Funktionen und Constraints (extends, Standardparameter)
- Partial, Readonly, Record, Pick, Omit
- keyof-/Indexed-Access-Typen (Einführung)