Funktionen und Argumente sicher kombinieren
Kombinieren Sie Funktionen unter Beibehaltung von Argumenttupeln und Rückgabetypen und schreiben Sie typsichere pipe-/compose-Hilfsfunktionen.
Funktionen und Argumente sicher kombinieren 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: Setzen Sie Funktionen zusammen, ohne Informationen über Argumente zu verlieren. Mit variadischen Tupeln können Sie das vollständige args-Tupel durch Pipe-/Compose-Hilfsfunktionen weitergeben.
- Arity und Namen bewahren
- Inferenz über alle Schritte hinweg erhalten
- Kein
any, keine Typumwandlungen
Grundlegendes Compose
compose: Die erste Funktion nimmt alle Argumente (...args: A) entgegen, die zweite verarbeitet ihre Ausgabe; Arity und Typen bleiben erhalten.
function compose<A extends any[], B, C>(g: (b: B) => C, f: (...args: A) => B) {
return (...args: A): C => g(f(...args))
}
function toLen(a: string, n: number) { return `${a}${n}`.length }
function isEven(x: number) { return x % 2 === 0 }
const c1 = compose(isEven, toLen)
const ok = c1("id", 99) // booleanPipe-Helfer
pipe setzt dieselbe Idee in umgekehrter Reihenfolge um; der Inferenzfluss ist intuitiver.
function pipe<A extends any[], B, C>(f: (...args: A) => B, g: (b: B) => C) {
return (...args: A): C => g(f(...args))
}
const p1 = pipe(toLen, isEven)
const ok2 = p1("xx", 7) // booleanCompose mit 3 oder mehr Funktionen
Bei 3 oder mehr Funktionen wird dasselbe Muster wiederholt; das Tupel A bleibt erhalten und die Zwischenrückgabewerte werden verkettet.
function compose3<A extends any[], B, C, D>(h: (c: C) => D, g: (b: B) => C, f: (...args: A) => B) {
return (...args: A): D => h(g(f(...args)))
}
function toUpper(s: string) { return s.toUpperCase() }
const c3 = compose3(toUpper, (x: number) => x.toString(), toLen)
const val = c3("a", 5) // "2" → then upper → "2"Kopf binden
bindHead: Stellt vollständige Argumente voran und erzeugt eine Funktion ohne Argumente; nur zu Demonstrationszwecken (tatsächlich lässt sie sich mit Parameters flexibler gestalten).
function bindHead<A extends any[], B>(fn: (...args: A) => B, ...head: A) {
return (...rest: []): B => fn(...head)
}
const bh = bindHead(toLen, "x", 42)
const r = bh() // numberTipps
Tipps:
Vermeiden Sie any in Hilfsfunktionen; dadurch wird die Inferenzkette unterbrochen.
Geben Sie bei Bedarf den Rückgabetyp explizit an; das verbessert die Developer Experience.
Verwenden Sie für mehrstufige Kompositionen kleine statt übermäßig generischer Hilfsfunktionen.
Compose-Signatur prüfen
Schnelltest: Welche Compose-Signatur bewahrt das ursprüngliche Argumenttupel?
Zusammenfassung
Zusammenfassung: Sie haben compose/pipe geschrieben und dabei Argumente mit variadischen Tupeln bewahrt; der Datenfluss bleibt erhalten, ohne Arity oder Typen zu verlieren.
Häufig gestellte Fragen
Ist die Lektion „Funktionen und Argumente sicher kombinieren“ kostenlos?
Ja — der vollständige Text von „Funktionen und Argumente sicher kombinieren“ 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 „Funktionen und Argumente sicher kombinieren“?
Kombinieren Sie Funktionen unter Beibehaltung von Argumenttupeln und Rückgabetypen und schreiben Sie typsichere pipe-/compose-Hilfsfunktionen. 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 „Funktionen und Argumente sicher kombinieren“?
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
- Rest-Elemente in Tupeln, Curry-Typen
- Funktionen und Argumente sicher kombinieren
- Stark typisierte Builder