Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)
Beschränken Sie Zeichenfolgen mit Template-Literal-Typen: Muster für Routenparameter, Namensräume für Eventnamen und sichere Builder.
Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen) 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: Modellieren Sie String-Formate in Typen. Mit Template-Literal-Typen können Sie Muster wie "/users/:id" oder "user:created" erzwingen und gleichzeitig eine hervorragende DX beibehalten.
- Durch Präfixe oder Suffixe einschränken
- Teile mit
inferextrahieren - Sichere Hilfsfunktionen erstellen
Routenparameter
Definieren Sie eine einfache Routenvorlage und leiten Sie den Parameternamen mit infer ab; verwenden Sie never in Fällen, die der Regel nicht entsprechen.
type Route = `/${string}`
type RouteWithParam = `/${string}/:${string}`
type ParamOf<R extends string> = R extends `${string}/:${infer P}` ? P : never
// examples
type A = ParamOf<"/users/:id"> // "id"
type B = ParamOf<"/posts/:slug"> // "slug"Sicherer Routenhelfer
Sicherer Builder: Die Hilfsfunktion akzeptiert Vorlagen, die mit "/" beginnen; andere werden bei der Kompilierung abgelehnt.
type Path<R extends string> = R extends `/${string}` ? R : never
function route<R extends Path<R>>(r: R) { return r }
const ok = route("/users/:id") // ok
// const bad = route("users") // error: must start with "/"Event-Namespaces
Beschränken Sie Präfixe (z. B. user:, order:) und blockieren Sie ungültige Feldnamen mit Typen.
type EventName = `user:${string}` | `order:${string}`
function on<E extends EventName>(name: E, cb: (data: unknown) => void) {
// ... register listener
}
on("user:created", d => {}) // ok
// on("payment:done", d => {}) // error: not an EventNameEvent aufteilen
Extrahieren Sie die beiden Abschnitte mit infer und wandeln Sie sie in typisierte Felder um; ungültige Formate können dadurch nicht auftreten.
type SplitEvent<E extends string> = E extends `${infer Scope}:${infer Action}` ? { scope: Scope; action: Action } : never
type S = SplitEvent<"user:created"> // { scope: "user"; action: "created" }
type Bad = SplitEvent<"oops"> // neverTipps
Tipps:
Halten Sie Einschränkungen minimal; übermäßig strenge Vorlagen erzwingen Refactorings.
Bündeln Sie Regeln an einer Stelle mit Builder-Funktionen.
Denken Sie daran, die zugrunde liegende Zeichenkette auf unbekannte Daten abzubilden und sie zur Laufzeit zu validieren.
Namespaces prüfen
Schnelltest: Welches Muster beschränkt Eventnamen auf zwei Namespaces?
Zusammenfassung
Zusammenfassung: Beschränken Sie Vorlagenzeichenketten mit Template-Literal-Typen, entfernen Sie Teile mit infer und erstellen Sie sichere Builder-Funktionen.
Häufig gestellte Fragen
Ist die Lektion „Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)“ kostenlos?
Ja — der vollständige Text von „Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)“ 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 „Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)“?
Beschränken Sie Zeichenfolgen mit Template-Literal-Typen: Muster für Routenparameter, Namensräume für Eventnamen und sichere Builder. 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 „Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)“?
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
- Mapped Types mit +/-readonly und +/-?
- Schlüsselneuzuordnung und Template-Literal-Typen
- Typisierung von Zeichenfolgenmustern (Routenparameter, Eventnamen)