0Pricing
TypeScript Academy · Lektion

Gemappte Typen: Objekttypen transformieren

Durchlaufen Sie Schlüssel, um neue Typstrukturen zu erstellen.

Gemappte Typen: Objekttypen transformieren ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. 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 4 Lektionen.

Willkommen

Mapped Types durchlaufen die Schlüssel eines Typs, um neue Typen mit transformierten Eigenschaften zu erstellen. Sie bilden die Grundlage von `Partial`, `Readonly`, `Record` und vielen weiteren Hilfstypen.

Grundlegende Syntax für Mapped Types

Verwenden Sie `[K in keyof T]`, um alle Schlüssel von T zu durchlaufen und einen neuen Typ zu erzeugen.
type Copy<T> = { [K in keyof T]: T[K] };
type UserCopy = Copy<User>; // same as User

Alle Eigenschaften optional machen

So wird `Partial` implementiert: Fügen Sie jeder Eigenschaft `?` hinzu.
type Partial<T> = { [K in keyof T]?: T[K] };
type PartialUser = Partial<User>;

Alle Eigenschaften schreibgeschützt machen

Fügen Sie jeder Eigenschaft im Mapped Type `readonly` hinzu.
type Readonly<T> = { readonly [K in keyof T]: T[K] };
type FrozenUser = Readonly<User>;

Werttypen transformieren

Ändern Sie den Werttyp jeder Eigenschaft, während die Schlüssel erhalten bleiben.
type Stringify<T> = { [K in keyof T]: string };
type StringUser = Stringify<User>; // all values are string

Eigenschaften mit never filtern

Verwenden Sie eine Bedingung an der Wertposition und filtern Sie mithilfe der Schlüsselneuzuordnung mit `never`.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Record<K, V>

`Record` erstellt einen Objekttyp mit bestimmten Schlüsseln und Werttypen.
type Record<K extends string | number | symbol, V> = { [P in K]: V };
const roles: Record<'admin' | 'user', boolean> = { admin: true, user: false };

Mapped Types bewahren Optionalität

Standardmäßig bewahren Mapped Types die optionalen und `readonly`-Modifikatoren des Quelltyps.
interface User { id: number; name?: string; }
type Copy<T> = { [K in keyof T]: T[K] };
type C = Copy<User>; // id: number; name?: string (preserved)

Schlüssel mit as neu zuordnen

Ordnen Sie Schlüssel mithilfe von `as` im Mapped Type neuen Namen zu.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};

Über eine Union iterieren

Durchlaufen Sie einen Union-Typ statt `keyof T`, um aus Unions Objekttypen zu erstellen.
type Flags = { [K in 'option1' | 'option2' | 'option3']: boolean };

Mapped Types und bedingte Typen kombinieren

Mapped Types und bedingte Typen lassen sich auf natürliche Weise kombinieren, um anspruchsvolle Transformationen zu erzeugen.
type NullableValues<T> = { [K in keyof T]: T[K] | null };

Kurztest

Was erzeugt `{ [K in keyof T]?: T[K] }`?

Zusammenfassung

Mapped Types durchlaufen Schlüssel, um neue Typen zu erstellen. Sie können `readonly` und `?` hinzufügen oder entfernen, Werttypen transformieren, Schlüssel mit `never` filtern und Schlüssel mit `as` neu zuordnen. Sie bilden die Grundlage aller integrierten Hilfstypen von TypeScript.

Häufig gestellte Fragen

Ist die Lektion „Gemappte Typen: Objekttypen transformieren“ kostenlos?

Ja — der vollständige Text von „Gemappte Typen: Objekttypen transformieren“ 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 4 Lektionen.

Was lerne ich in „Gemappte Typen: Objekttypen transformieren“?

Durchlaufen Sie Schlüssel, um neue Typstrukturen zu erstellen. 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 1 von 4.

Wie lange dauert die Lektion „Gemappte Typen: Objekttypen transformieren“?

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

  1. Gemappte Typen: Objekttypen transformieren
  2. Modifikatoren in gemappten Typen: readonly und ?
  3. Template-Literal-Typen: String-Muster
  4. Schlüssel mit as in gemappten Typen umbenennen
← Zurück zu TypeScript Academy