0Pricing
TypeScript Academy · Lektion

Schlüsselneuzuordnung und Template-Literal-Typen

Ordnen Sie Schlüssel mit „as“ neu zu, erstellen Sie Schlüssel mithilfe von Template Literals (Capitalize/Uncapitalize) und filtern Sie Eigenschaften nach Namensmustern.

Schlüsselneuzuordnung und Template-Literal-Typen ist eine kostenlose TypeScript Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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: Verwenden Sie Key-Remapping (die as-Klausel) zusammen mit Template-Literal-Typen, um Eigenschaften anhand von Namensmustern umzubenennen, zu erzeugen oder zu entfernen.

  • Schlüssel umbenennen: K as NewK
  • Schlüssel mit never filtern
  • Namen zusammensetzen: `get${Capitalize<K>}`

Schlüssel umbenennen

Benennen Sie Schlüssel mit as um. Beispiel: Wandeln Sie Namen in snake_case in camelCasee um.

type Original = { first_name: string; last_name: string }

type Camelize<T> = {
  [K in keyof T as K extends `${infer A}_${infer B}`
    ? `${A}${Capitalize<B>}`
    : K]: T[K]
}

type UserCamel = Camelize<Original>  // { firstName: string; lastName: string }

Nach Präfix filtern

Der Schlüssel never wird entfernt. Vorlage: Event-Handler mit `on${string}` filtern.

type Props = { onClick: () => void; onSubmit: () => void; title: string }

type WithoutHandlers<T> = {
  [K in keyof T as K extends `on${string}` ? never : K]: T[K]
}

type Clean = WithoutHandlers<Props>  // { title: string }

Methoden erzeugen

Erzeugen Sie API-Oberflächen mit Namen nach Vorlagen: Das Muster get${Capitalize<K>} wird verwendet, um aus Feldern Getter zu erstellen.

type Fields = "name" | "email"

type Getters<T extends string> = {
  [K in T as `get${Capitalize<K>}`]: () => string
}

type ClientAPI = Getters<Fields>
// { getName: () => string; getEmail: () => string }

Muster zusammensetzen

Kombinieren Sie mehrere Vorlagen, um aussagekräftige Namen zu erzeugen und eine konsistente Benennung in großen Projekten sicherzustellen.

type Route = `/${"" | `${string}`}`

type HttpMethod = "get" | "post"

type Endpoints<T extends string, M extends string> = {
  [K in T as `${M}_${K}`]: { path: `/${K}`; method: Uppercase<M> }
}

type API = Endpoints<"users" | "login", HttpMethod>
// { get_users: { path: "/users"; method: "GET" }, post_login: { path: "/login"; method: "POST" } }

Tipps und Fallstricke

Tipps:

Remapping ist aufwendig; teilen Sie komplexe Typen mit Aliasen auf.

Verwenden Sie einfache Vorlagen für Filter: `on${string}`, `data-${string}`.

Verwenden Sie die Hilfsfunktionen Capitalize/Uncapitalize/Uppercase/Lowercase.

Vereinfachen Sie die API, wenn die Namenserzeugung überhandnimmt.

Präfix-Filter prüfen

Schnelltest: Welches Muster für Mapped Types entfernt Eigenschaften, die mit on beginnen?

Zusammenfassung

Zusammenfassung: Benennen Sie Schlüssel mit Key-Remapping um oder filtern Sie sie damit; erzeugen Sie Schlüssel mit Template-Literal-Typen und entfernen Sie unerwünschte Schlüssel mit never.

Häufig gestellte Fragen

Ist die Lektion „Schlüsselneuzuordnung und Template-Literal-Typen“ kostenlos?

Ja — der vollständige Text von „Schlüsselneuzuordnung und Template-Literal-Typen“ 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 „Schlüsselneuzuordnung und Template-Literal-Typen“?

Ordnen Sie Schlüssel mit „as“ neu zu, erstellen Sie Schlüssel mithilfe von Template Literals (Capitalize/Uncapitalize) und filtern Sie Eigenschaften nach Namensmustern. 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 2 von 3.

Wie lange dauert die Lektion „Schlüsselneuzuordnung und Template-Literal-Typen“?

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. Mapped Types mit +/-readonly und +/-?
  2. Schlüsselneuzuordnung und Template-Literal-Typen
  3. Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)
← Zurück zu TypeScript Academy