Glossar – TypeScript

GLOSSAR


TYPESKRIPT

Was ist ein TypeScript?

TypeScript ist eine von Microsoft entwickelte Programmiersprache. Sprachkonstrukte von TypeScript, wie Klassen, Vererbung, Module und anonyme Funktionen, wurden auch in ECMAScript 6 übernommen. Der von Microsoft entwickelte TypeScript-Compiler kompiliert TypeScript-Code nach ECMA Script 3 (ES3), optional auch nach ECMA Script 5 (ES5) zu plain JavaScript. Jeder JavaScript-Code ist daher auch ein TypeScript-Code, sodass gängige JavaScript-Bibliotheken (wie z. B. jQuery oder AngularJS) auch in TypeScript verwendet werden. TypeScript unterstützt mit Modulen das Kapseln von Klassen, Interfaces, Funktionen und Variablen in eigene Namensräume. Dabei wird zwischen internen und externen Modulen unterschieden.

Entstehung von TypeScript

Die erste verfügbare Version von TypeScript wurde 2012 nach zwei Jahren Entwicklung von Microsoft in der Version 0.8 veröffentlicht. Seit 2013 gab es Plugin-Support für Eclipse, der von Palantir Technologies bereitgestellt wurde. Mittlerweile unterstützen eine Vielzahl von Texteditoren und Entwicklungsumgebungen TypeScript. Darunter befinden sich unter anderem Emacs, vim, Sublime Text, WebStorm, Atom und Microsofts eigener Editor Visual Studio Code. TypeScript 0.9 wurde 2013 veröffentlicht und brachte auch Unterstützung für generische Typen. TypeScript 1.0 wurde 2014 auf Microsofts hauseigener Entwicklerkonferenz Build vorgestellt. Auch erhielt Visual Studio Unterstützung für TypeScript. Im Juli 2014 kündigten die Entwickler von TypeScript einen neuen Compiler an, der fünfmal schneller sein sollte. Gleichzeitig wurde der bisherige Quellcode von TypeScript von CodePlex zu GitHub migriert. Am 22. September 2016 wurde die Version 2.0 veröffentlicht, die diverse neue Funktionen einführte. Unter anderem wurde eine Funktion eingeführt, um zu verhindern, dass Variablen standardmäßig mit null initialisiert sind. Dies soll zu weniger Nullpointer Exceptions führen. Am 30. Juli 2018 wurde die Version 3.0 veröffentlicht. Besonders hervorzuheben ist der neue Typ unknown. Zusammen mit void und never vervollständigt er die Ränder der Typenhierarchie: unknown ist ein Universaltyp; einer Variable davon kann jedes Objekt zugewiesen werden und entsprechend kann man von einem unknown-Wert nichts erwarten. TypeScript verlangt dann eine Assertion oder Checks. Im Unterschied dazu ist any zwar auch ein Universaltyp, jedoch erlaubt TypeScript die Verwendung der Werte direkt, obwohl eigentlich keine Information darüber vorliegt. Damit ist unknown nichts anderes als das typsichere Äquivalent zu any.