Alle Grundlagen

Sprache

TypeScript

Die Programmiersprache, in der wir alles schreiben: JavaScript mit einer Fehlerprüfung, bevor der Code läuft.

Erschienen
2012
Entwickelt von
Microsoft
Lizenz
Open Source (Apache 2.0)
Läuft als
JavaScript, in jedem Browser und auf Servern

01Was das ist

Jeder Webbrowser versteht eine Programmiersprache: JavaScript. Alles, was sich auf einer Website bewegt, reagiert oder nachlädt, ist am Ende JavaScript. Seit etwa 2009 läuft JavaScript über ein Programm namens Node.js auch auf Servern, sodass sich eine ganze Anwendung darin schreiben lässt.

TypeScript ist JavaScript mit Typen. Ein Typ legt fest, welche Art von Wert etwas ist. Ein Rechnungsbetrag ist eine Zahl. Ein Kunde hat einen Namen, also Text, und optional eine USt-IdNr. Ein Ticket hat einen Status, und der ist eines von vier festen Wörtern. In normalem JavaScript stehen diese Regeln nur im Kopf des Entwicklers. In TypeScript stehen sie im Code, und ein Programm prüft sie.

Microsoft hat TypeScript 2012 als Open Source veröffentlicht. Der leitende Entwickler, Anders Hejlsberg, hatte zuvor C# entworfen. Heute gehört TypeScript zu den meistgenutzten Programmiersprachen, und die meisten großen Webprojekte beginnen damit.

02Wie es funktioniert

Browser können TypeScript nicht direkt lesen. Bevor der Code ausgeliefert wird, liest ihn der TypeScript-Compiler, prüft jeden Typ und schreibt dann normales JavaScript ohne die Typen heraus. Beim Browser kommt nur dieses JavaScript an. Zur Laufzeit kosten die Typen nichts, ihre Arbeit ist vor dem Start der Anwendung getan.

Die Prüfung umfasst das ganze Projekt auf einmal. Ändert ein Entwickler in einer Datei den Aufbau eines Kundendatensatzes, findet der Compiler jede andere Datei, die noch den alten Aufbau verwendet, und meldet sie mit der genauen Zeile. Code-Editoren führen dieselbe Prüfung schon beim Tippen aus, Fehler sind nach Sekunden rot unterstrichen.

Typen dienen außerdem als Dokumentation. Wer eine Funktion öffnet, sieht, was sie erwartet und was sie zurückgibt, ohne ihren Inhalt lesen zu müssen. Editoren nutzen dieselben Angaben, um Feldnamen vorzuschlagen und Dinge über Hunderte Dateien hinweg sicher umzubenennen.

03Ein Beispiel aus einer Geschäftsanwendung

Nehmen wir eine Anwendung, die Rechnungen erstellt. Die Rechnung hat einen Nettobetrag, einen Umsatzsteuersatz und einen Bruttobetrag. Irgendwann entscheidet ein Entwickler, Beträge als ganze Zahlen in Cent zu speichern, um Rundungsfehler zu vermeiden, und ändert den Rechnungstyp entsprechend.

Ohne Typen liefen alle Ansichten, Exporte und Mailvorlagen, die den Betrag noch als Euro behandeln, einfach weiter und zeigten Beträge, die hundertmal zu groß sind. Auffallen würde das bei der ersten echten Rechnung. Mit TypeScript bricht der Compiler den Build ab und listet jede Stelle auf, die angepasst werden muss. Der Fehler erreicht nie einen Kunden.

Dasselbe gilt für viele kleine Dinge, die in Software schiefgehen:

  • ein Feld wird an einer Stelle umbenannt und an einer anderen vergessen
  • ein Wert kann leer sein, etwa eine fehlende Telefonnummer, und wird verwendet, als wäre er immer vorhanden
  • ein Status ist falsch geschrieben, und ein Filter findet stillschweigend nichts
  • eine Funktion wird mit vertauschten Angaben aufgerufen

04Alternativen

Im Browser ist die einzige echte Alternative normales JavaScript. Es läuft genauso und ist am Anfang schneller geschrieben, weil nichts festgelegt werden muss. Für ein kurzes Skript reicht das. Bei einer Anwendung, die mehrere Personen über Jahre verändern, zeigen sich die fehlenden Prüfungen als Fehler, die schwer zu finden sind.

Auf dem Server gibt es viele andere Sprachen, darunter Python, Java, C#, PHP und Go. Jede davon ist eine solide Wahl, und viele große Systeme laufen damit. Wer eine davon wählt, schreibt den Browser-Teil und den Server-Teil in zwei Sprachen. Mit TypeScript genügt eine Sprache für beide Hälften, und ein Typ wie die Rechnung wird einmal festgelegt und von Ansicht, Server und Datenbankcode gemeinsam genutzt.

05Worauf Sie achten sollten

TypeScript selbst kostet nichts. Es kostet beim Schreiben etwas mehr Zeit, die meist schon beim ersten Umbau zurückkommt, der viele Dateien betrifft.

Wie viel Schutz es bietet, hängt von der Einrichtung ab. Wenn Sie Software kaufen, die in TypeScript geschrieben ist, lohnen sich diese Fragen:

  • Ist der Strict Mode eingeschaltet? Ohne ihn sind viele Prüfungen aus.
  • Wie oft verwendet der Code den Typ any? Er schaltet die Prüfung für diesen Wert ab, und viel davon heißt, dass die Typen nur Dekoration sind.
  • Läuft die Typprüfung bei jeder Änderung automatisch, sodass Code, der sie nicht besteht, nicht veröffentlicht werden kann?
  • Werden Daten, die von außen kommen, etwa über die API eines anderen Systems, beim Eintreffen gegen ihren Typ geprüft?

06Wie wir es nutzen

Wir schreiben beide Hälften jeder Anwendung in TypeScript, die Ansichten und den Server. Mit einer Sprache durchgehend wird ein Datentyp einmal festgelegt, und Ansichten, Server und Datenbankcode nutzen dieselbe Definition. Ändert sich die Definition, zeigt uns der Compiler alles, was nachziehen muss.

Der Strict Mode ist in allen unseren Projekten eingeschaltet. Daten, die von außen kommen, aus einem Formular oder einem anderen System, werden gegen ihren Typ geprüft, bevor die Anwendung damit arbeitet.

Auch unsere KI-Agenten schreiben TypeScript. Die Typprüfung ist einer der automatischen Tests, die jede vorgeschlagene Änderung auf GitHub bestehen muss, bevor sie übernommen werden kann. Eine Änderung mit Typfehler erreicht die laufende Anwendung nie.

Häufige Fragen

Müssen wir TypeScript kennen, um die Anwendung zu nutzen?

Nein. TypeScript betrifft nur die Menschen, die den Code schreiben und pflegen. Nutzer sehen die fertige Anwendung im Browser.

Wird die Anwendung durch TypeScript langsamer?

Nein. Die Typen werden vor der Auslieferung entfernt, und der Browser führt normales JavaScript aus. Geprüft wird einmal, beim Build.

Kann später ein anderer Entwickler TypeScript-Code übernehmen?

Ja. TypeScript wird breit gelehrt und eingesetzt, Entwickler dafür zu finden ist einfach. Die Typen machen fremden Code für den Nachfolger außerdem leichter lesbar.

Verhindert TypeScript alle Fehler?

Nein. Es findet Fehler darin, wie Daten weitergegeben und verwendet werden. Ob eine Berechnung der richtigen Geschäftsregel folgt, prüfen automatische Tests und Menschen, die die Änderung durchsehen.

Ist man mit TypeScript an Microsoft gebunden?

Microsoft entwickelt es, aber es ist Open Source unter der Apache-2.0-Lizenz. Heraus kommt normales JavaScript, das überall läuft, ohne dass ein Microsoft-Produkt beteiligt ist.

Erzählen Sie uns, was Ihre Software können soll.

Gespräch beginnen