Kapitel 5. Arbeiten mit beliebigen
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Typensysteme waren traditionell eine binäre Angelegenheit: Entweder hatte eine Sprache ein vollständig statisches oder ein vollständig dynamisches Typensystem. TypeScript verwischt diese Grenze, denn sein Typsystem ist optional und schrittweise. Du kannst in Teilen deines Programms Typen hinzufügen, in anderen nicht.
Dies ist wichtig, um bestehende JavaScript-Codebasen nach und nach auf TypeScript zu migrieren(Kapitel 8). Der Schlüssel dazu ist der Typ any, der die Typüberprüfung für Teile deines Codes effektiv deaktiviert. Er ist sowohl mächtig als auch anfällig für Missbrauch. Wenn du lernen willst, any sinnvoll zu nutzen, musst du lernen, TypeScript effektiv zu schreiben. In diesem Kapitel erfährst du, wie du die Nachteile von any begrenzen und gleichzeitig seine Vorteile nutzen kannst.
Punkt 38: Verwende den engstmöglichen Anwendungsbereich für alle Arten
Betrachte diesen Code:
functionprocessBar(b:Bar){/* ... */}functionf() {constx=expressionReturningFoo();processBar(x);// ~ Argument of type 'Foo' is not assignable to// parameter of type 'Bar'}
Wenn du irgendwie aus dem Kontext weißt, dass x zusätzlich zu Foo auch Bar zugewiesen werden kann, kannst du TypeScript auf zwei Arten zwingen, diesen Code zu akzeptieren:
functionf1() {constx:any=expressionReturningFoo();// Don't do thisprocessBar ...