
Was ist TypeScript?
TypeScript ist heute die Sprache hinter den meisten neuen Webprojekten. Was dahinter steckt, woher es kommt und wann es die bessere Wahl gegenüber JavaScript ist, verständlich erklärt.
- Lesezeit
- 9 Minuten
- Autor
- Samet Akin
- Veröffentlicht
- Aktualisiert
- Kategorie
- Technik erklärt
Was ist TypeScript?
TypeScript ist eine typisierte Programmiersprache, die auf JavaScript aufbaut. Jedes gültige JavaScript ist zugleich gültiges TypeScript, Fachleute nennen so etwas ein Superset. Der Unterschied liegt in den Typen: In TypeScript steht am Code, ob eine Stelle einen Text, eine Zahl oder einen ganzen Kundendatensatz erwartet. Ein Prüfprogramm, der Compiler, kontrolliert vor dem Start, ob alle Teile zusammenpassen.
Was das bringt, zeigt ein Alltagsfehler. In JavaScript darf eine Funktion, die einen Kundendatensatz erwartet, mit allem aufgerufen werden: mit einer Zahl, mit einem leeren Wert, mit einem falsch geschriebenen Feldnamen. Der Fehler fällt erst auf, wenn ein Besucher die Seite bedient. TypeScript meldet dieselbe Stelle schon im Editor, mit roter Markierung und einer Erklärung, was nicht passt.
Im Browser läuft TypeScript nicht direkt. Vor der Veröffentlichung übersetzt der Compiler den Code in normales JavaScript und entfernt dabei alle Typangaben. Was beim Besucher ankommt, ist dasselbe JavaScript wie eh und je, nur dass es vorher eine vollständige Prüfung durchlaufen hat.
type Kunde = {
name: string;
plz: string;
};
function begruesse(kunde: Kunde) {
return `Hallo ${kunde.name}`;
}
begruesse({ name: "Ayse", plz: "46045" }); // in Ordnung
begruesse({ nane: "Ayse" }); // Fehler vor dem Start: "nane" gibt es nichtWie funktioniert TypeScript?
TypeScript besteht aus zwei Teilen: der Sprache und dem Compiler. Die Sprache ist JavaScript plus Typangaben. Der Compiler, ein Programm namens tsc, liest den Code, prüft alle Typen gegeneinander und übersetzt das Ergebnis in normales JavaScript. Die Typangaben verschwinden dabei vollständig, sie sind ein Werkzeug für die Entwicklung, kein Ballast für den Besucher.
Im Alltag merkt man vom Compiler wenig, denn die Prüfung läuft ständig im Editor mit. Programme wie Visual Studio Code zeigen Fehler in dem Moment an, in dem sie entstehen, schlagen beim Tippen die richtigen Feldnamen vor und benennen eine Funktion im ganzen Projekt sicher um. Ein großer Teil des Nutzens von TypeScript ist genau diese Arbeitsumgebung.
Wie streng geprüft wird, lässt sich einstellen. Eine Konfigurationsdatei, die tsconfig, legt die Regeln fest; der sogenannte strict-Modus ist die empfohlene Stufe und bei uns Standard. TypeScript erkennt außerdem viele Typen von selbst: Wer einer Variablen eine Zahl zuweist, bekommt automatisch den Typ Zahl. Das nennt sich Typinferenz und hält den Code schlank, weil längst nicht an jeder Stelle eine Typangabe stehen muss.
type Status = "offen" | "bezahlt" | "storniert";
type Rechnung = {
nummer: string;
status: Status;
};
function markiereBezahlt(rechnung: Rechnung): Rechnung {
return { ...rechnung, status: "bezahlt" };
}
// Der Compiler kennt alle gültigen Werte: ein Tippfehler
// wie "bezahllt" fällt sofort auf, nicht erst im Betrieb.Wozu wird TypeScript verwendet?
Überall dort, wo JavaScript im Einsatz ist und der Code länger lebt als ein Wochenende. Die großen Frameworks wie Next.js, React und Angular sind auf TypeScript ausgelegt oder selbst darin geschrieben, deshalb ist es bei neuen Webprojekten heute die Regel und nicht die Ausnahme. Typische Einsatzgebiete sind:
- Webanwendungen und Kundenportale, in denen viele Daten zwischen Server und Oberfläche fließen
- Webseiten mit Logik, etwa Konfiguratoren, Buchungsstrecken oder Formulare mit Preisberechnung
- Mobile Apps, die mit React Native aus einer Codebasis für iOS und Android entstehen
- Server und Schnittstellen mit Node.js, vom kleinen Dienst bis zur kompletten Backend-Logik
- Bibliotheken und Werkzeuge, deren Nutzer sich auf die Typen verlassen
Ein Beispiel aus unserer Arbeit: In einem Kundenportal fließen Angebote, Rechnungen und Termine zwischen Datenbank, Server und Browser. Jede dieser Stationen beschreibt ihre Daten mit denselben Typen. Bekommt eine Rechnung ein neues Feld, zeigt der Compiler jede Stelle, die das Feld noch nicht kennt, vom Datenbankzugriff bis zum Knopf in der Oberfläche. Ohne Typen wäre das eine Suche von Hand.
Auch diese Webseite ist in TypeScript geschrieben. Wir setzen die Sprache bei Akinware in praktisch jedem Projekt ein, vom Kundenportal bis zur Firmenwebseite, weil sie Fehler dorthin verlegt, wo sie am wenigsten kosten: auf den Bildschirm des Entwicklers statt in den Browser des Kunden. Das Framework dahinter stellen wir im Beitrag Was ist Next.js? vor.
Die Geschichte von TypeScript
TypeScript entstand bei Microsoft aus einem konkreten Problem. Um 2010 wuchsen Webanwendungen wie Outlook im Browser auf Hunderttausende Zeilen JavaScript, und die Sprache bot nichts, um so viel Code im Griff zu behalten. Anders Hejlsberg, der zuvor schon Turbo Pascal und C# entworfen hatte, entwickelte deshalb eine Erweiterung, die Typen ergänzt, ohne mit JavaScript zu brechen.
- Erschienen
- 1. Oktober 2012
- Entwickelt von
- Microsoft, unter Leitung von Anders Hejlsberg
- Lizenz
- Quelloffen und kostenlos (Apache 2.0)
- Verhältnis zu JavaScript
- Erweiterung, jedes JavaScript ist gültiges TypeScript
- Verbreitung
- Unter den drei meistgenutzten Sprachen auf GitHub
Vom Nischenprojekt zum Standard

Veröffentlichung
Microsoft stellt TypeScript öffentlich vor, von Anfang an quelloffen. Die erste Reaktion ist verhalten, viele halten Typen im Web für unnötig.
1. Oktober 2012
Was TypeScript nicht kann
Zur ehrlichen Antwort auf die Frage, was TypeScript ist, gehört auch, was es nicht ist. Die Typprüfung passiert vor dem Start, nicht während die Anwendung läuft. Daten, die von außen kommen, etwa aus einem Formular oder einer fremden Schnittstelle, muss der Code weiterhin selbst kontrollieren. TypeScript sorgt dafür, dass diese Kontrolle an der richtigen Stelle eingebaut und nirgends vergessen wird, aber es übernimmt sie nicht.
- Es prüft nicht zur Laufzeit: Eingaben von Besuchern und fremden Systemen brauchen eine eigene Kontrolle
- Es macht schlechten Code nicht gut: eine unklare Struktur bleibt unklar, nur eben mit Typen
- Es lässt sich aushebeln: wer überall any schreibt, schaltet den Schutz ab und behält nur den Aufwand
- Es braucht einen Übersetzungsschritt: ohne Build-Werkzeuge läuft nichts, die gehören heute aber ohnehin zu jedem Webprojekt
Keiner dieser Punkte spricht gegen TypeScript, sie stecken nur den Rahmen ab. Die Sprache ist ein Sicherheitsnetz für Entwickler, kein Ersatz für sorgfältige Arbeit.
TypeScript oder JavaScript?
Die Frage stellt sich anders, als sie klingt, denn TypeScript ersetzt JavaScript nicht, es baut darauf auf. Wer TypeScript schreibt, schreibt JavaScript mit einer zusätzlichen Sicherheitsebene. Trotzdem gibt es Fälle, in denen sich die Entscheidung lohnt. TypeScript ist die bessere Wahl, wenn:
- der Code über Jahre lebt und immer wieder erweitert wird
- mehrere Personen daran arbeiten, auch nacheinander, etwa nach einem Dienstleisterwechsel
- viele Daten zwischen Server und Oberfläche fließen, etwa Aufträge, Termine oder Rechnungen
- das Projekt wachsen soll, ohne dass jeder Umbau zum Risiko wird
Reines JavaScript reicht dagegen für ein einzelnes Skript, das einmal läuft, oder eine Landing-Page ohne Logik, die nach der Kampagne wieder verschwindet. Ausführlicher steht das auf unserer Seite zur TypeScript-Entwicklung, inklusive der Fälle, in denen wir ehrlich abraten. Und was JavaScript selbst ausmacht, erklärt der Beitrag Was ist JavaScript?.
TypeScript aus Kundensicht
Für Auftraggeber ist TypeScript kein Feature, das man auf der fertigen Webseite sieht. Es wirkt an anderer Stelle: bei jeder Änderung nach dem Start. Ein neuer Preis, ein zusätzliches Formularfeld, eine weitere Unterseite, all das sind Eingriffe in bestehenden Code, und mit Typen sagt der Rechner vorher, was der Eingriff sonst noch berührt. Das senkt die Folgekosten, die über die Jahre meist höher ausfallen als die erste Entwicklung.
Wichtig wird die Sprache auch beim Wechsel des Dienstleisters. Typisierter Code erklärt sich dem nächsten Team deutlich schneller als ein Projekt, in dem niemand mehr weiß, welche Daten wo hineinfließen. Wer eine Webseite oder Anwendung beauftragt, darf deshalb ruhig fragen, in welcher Sprache sie entsteht und warum. Eine klare Antwort auf diese Frage sagt viel über die Arbeitsweise eines Dienstleisters.
Ist TypeScript die Zukunft?
Vieles spricht dafür, dass TypeScript weniger die Zukunft als längst die Gegenwart ist. Die großen Frameworks setzen es voraus oder empfehlen es, Node.js führt TypeScript-Dateien inzwischen direkt aus, und für JavaScript selbst liegt ein Vorschlag auf dem Tisch, Typangaben in die Sprache aufzunehmen. Die Richtung ist eindeutig: Typen gehören im Web dazu.
Auch am Werkzeug selbst arbeitet Microsoft weiter: der Compiler wird derzeit neu geschrieben, damit auch sehr große Projekte in Sekunden statt Minuten geprüft sind. Eine Sprache, die abgelöst werden soll, bekommt solche Investitionen nicht.
Verschwinden wird JavaScript deshalb nicht, denn jedes TypeScript-Projekt wird am Ende zu JavaScript übersetzt. Wer heute auf TypeScript setzt, folgt also keinem Trend, sondern nutzt eine Sprache, die seit über einem Jahrzehnt gepflegt wird und hinter der neben Microsoft eine breite Community steht.
Was TypeScript stark macht

Fehler vor dem Start
Der Compiler prüft den gesamten Code, bevor er veröffentlicht wird. Eine ganze Klasse von Fehlern erreicht den Browser gar nicht erst.

Code, der sich erklärt
Typen dokumentieren, welche Daten wo erwartet werden. Wer neu ins Projekt kommt, liest das direkt aus dem Code statt aus veralteten Notizen.

Werkzeuge, die mitdenken
Der Editor kennt jede Funktion und jedes Feld. Autovervollständigung und sichere Umbenennungen sparen jeden Tag Zeit.

Umbauten ohne Angst
Ändert sich eine Datenstruktur, zeigt der Compiler jede betroffene Stelle. Große Umbauten werden planbar statt riskant.
Was wir mit TypeScript bauen

Webanwendungen
Portale, Dashboards und interne Werkzeuge, bei denen viele Daten sicher durch viele Hände gehen.
Webseiten
Firmenwebseiten mit Next.js: schnell, wartbar und bereit für Erweiterungen wie Konfiguratoren oder Buchungen.
Apps
Mobile Apps mit React Native: eine Codebasis für iOS und Android, geprüft vom selben Typsystem.




