TypeScript hat gewonnen. Das ist es, was wir wirklich davon haben.

Niemand streitet mehr darüber, ob man TypeScript verwenden sollte. Neue Projekte nutzen es standardmäßig. Die Debatte ist beendet.

Der wahre Wert liegt nicht nur darin, Tippfehler zu finden. Es ist viel mehr als das.

Eine Funktionssignatur fungiert als Dokumentation. Sie veraltet nie. Wenn sich der Code ändert, schlägt der Compiler beim Build fehl.

Schau dir diese Funktion an:

function scheduleReminder(
  userId: string,
  at: Date,
  channel: "email" | "push" | "sms",
): Promise<ReminderId>;

Man weiß genau, wie man sie aufruft. Man weiß, was sie benötigt und was sie zurückgibt. Man weiß, dass der Kanal einer von drei spezifischen Strings sein muss.

Wenn man später eine „slack“-Option hinzufügt, zwingt einen der Compiler dazu, jeden Teil des Codes zu aktualisieren. Ein Kommentar würde einfach veralten und einen anlügen.

In ungetyptem Code fühlt sich das Umbenennen eines Feldes beängstigend an. Man sucht nach Strings und hofft das Beste. In TypeScript ändert man den Typ. Der Compiler liefert eine To-do-Liste von allem, was kaputtgegangen ist. Refactoring wird sicher.

Typen helfen auch bei KI.

Ein KI-Modell rät bei JavaScript über die Struktur des Codes. In TypeScript ist der Typ die Spezifikation. Die KI weiß, was erlaubt ist. Fehler zeigen sich als Fehlermeldungen anstatt als Abstürze in der Produktion.

Typen fungieren als Leitplanken. Sie ermöglichen es, KI-generierten Code mit Vertrauen zu nutzen, anstatt jede Zeile manuell zu prüfen.

Schreibe bessere Typen mit diesen Regeln:

• Verwende Unions anstelle vieler Booleans. Ein Status wie „loading“ | „error“ | „ready“ ist besser als drei separate Flags. • Benenne deine Domain-Typen. Verwende type Cents = number, um die Absicht zu verdeutlichen. • Vermeide any. Verwende stattdessen unknown und verfeinere den Typ. • Lass die Typinferenz arbeiten. Annotiere deine Grenzen, wie etwa Funktionssignaturen, aber lass den Rest fließen.

TypeScript hat Codebasen in Sätze von erzwungenen Verträgen verwandelt. Diese Verträge ermöglichen furchtloses Refactoring und zuverlässige KI-Unterstützung.

Wir haben angefangen, Typen zu verwenden, um Bugs zu verhindern. Wir verwenden sie weiterhin, weil sie das Fundament für alles andere sind.

Quelle: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-53lo