Windows Developer
TypeScript hat Ihr Interesse geweckt?
Dann lesen Sie im kommenden Windows Developer Magazin das ausführliche Tutorial zu Microsofts JavaScript-Erweiterung! Rainer Stropek führt Sie systematisch in die neuen Möglichkeiten von TypeScript ein.
Stay tuned!
TypeScript definiert optionale Erweiterungen für JavaScript (um genau zu sein für den Standard Ecmascript 5). Das bedeutet, dass jedes gültige JavaScript-Programm auch automatisch ein gültiges TypeScript Programm ist. Was fügt TypeScript zu JavaScript hinzu? Vor allem (optionale) Typinformationen. Variablen, Parametern, Objekten – allem kann man in TypeScript bei Bedarf einen Typ zuordnen. Dabei handelt es sich um Primitive Types (number, boolean und string) oder Object Types (z. B. Klassen, Module, Schnittstellen, etc.). Verzichtet man auf explizite oder implizite Angabe eines Typs, greift TypeScript auf den Typ Any zurück. Er entspricht einem normalen Wert in JavaScript ohne Typprüfung. Hier ein Beispiel dazu:
var n: number; var a; // no type -> any var s = "Max"; // Contextual typing -> string n = 5; // valid because 5 is a number a = 5; // valid because a is of type Any a = "Hello"; // valid because a is of type Any n = "Hello"; // compile time error because // "Hello" is not a number
Das Entscheidende dabei ist, dass diese Typinformationen von der IDE (Erweiterung für Visual Studio 2012 ist in der aktuellen Preview-Version von TypeScript bereits enthalten) und vom TypeScript Compiler berücksichtigt werden. Das Ergebnis sind höhere Entwicklerproduktivität und Code, der zur Laufzeit weniger Fehler produziert. Die folgende Abbildung zeigt, was die Typinformationen zum Beispiel in VS2012 ermöglichen. Achten Sie darauf, wie IntelliSense den Typ der Variablen nutzt, um die jeweils zur Verfügung stehenden Funktionen anzubieten. Für a gibt es kein IntelliSense, da a vom Typ Any ist.

Beim Kompilieren eines TypeScript-Programms entsteht reguläres JavaScript. Diese Tatsache eröffnet TypeScript vom ersten Tag an ein sehr breites Anwendungsspektrum: Sie können mit TypeScript JavaScript für Ihre Webanwendung erzeugen, Code für die Verwendung mit node.js generieren oder JavaScript Code für Ihre Windows Store Apps produzieren. Die Typprüfung wird vom Compiler übernommen und findet sich im entstehenden JavaScript Code nicht wieder. Dementsprechend hat sie auch keine Performancenachteile zur Laufzeit. Die folgende Abbildung zeigt, wie das gemeint ist. Aus dem TypeScript Code links wird durch den Compiler der JavaScript Code rechts erzeugt:
