Bereits im Release Candidate von TypeScript 2.3 wurden viele der neuen Features implementiert. Dazu gehört etwa die neue --strict
-Option sowie Support für async
-Generators und async
-Iterators. Im TypeScript-Blog hat Daniel Rosenwasser nun die Highlights der finalen Version von TypeScript 2.3 vorgestellt – und die können sich sehen lassen!
Neue Checking-Modes und mehr: Neues in TypeScript 2.3
Zu den Neuerungen in TypeScript 2.3 zählen etwa neue Möglichkeiten zum Type-Checking in JavaScript-Dateien. Schon seit einiger Zeit bietet TypeScript die Option, nach und nach Dateien mithilfe des --allowJS
-Flags von JavaScript zu TypeScript zu migrieren.
In TypeScript wird nun eine neue experimentelle Variante des Überprüfens von .js-Dateien eingeführt. Dieser neue Checking-Modus nutzt Kommentare, um Typen auf reguläre JavaScript-Declarations zu spezifizieren. Der Vorteil daran: Diese Kommentare sind komplett optional; zudem bleibt der Code weiterhin ausführbar und muss nicht erst umgewandelt werden.
Außerdem bringt die neue TypeScript-Version ein Language Server Plugin API mit, das die bekannte Editing-Experience im JavaScript-Superset erweitert. Ebenso stehen ab sofort Default-Type-Argumente zur Verfügung. Beispielsweise kann ab TypeScript 2.3 React.Components
folgendermaßen deklariert werden:
class Component<P, S> { // ... }
Das heißt, so sagt Rosenwasser im TypeScript-Blog, dass beim Schreiben von Component<FooProps>
jedes Mal auch implizit Component<FooProps, object>
geschrieben wird. Beachtet werden sollte dabei aber, dass der Default eines Type-Parameters nicht zwingend der gleiche sein muss wie dessen Constraint.
Interview mit Christian Schneider zum Thema „DevSecOps“
DevSecOps ist, bezogen auf Security-Checks, die logische Fortführung der Automatisierung im DevOps-Sinne
IT-Security Experte, Christian Schneider
Christian ist als freiberuflicher Whitehat Hacker, Trainer und Security-Coach tätig. Als Softwareentwickler mit mittlerweile 20 Jahren Erfahrung, fand er 2005 seinen Themenschwerpunkt im Bereich IT-Security.
Generator und async
-Generator-Support
In früheren Versionen bot TypeScript keinen Support für das Kompilieren von Generators oder die Arbeit mit Iterators. Beides wird nun jedoch ab TypeScript 2.3 unterstützt; zudem bringt die neue Sprachversion auch Unterstützung für die in ECMAScript 2017 eingeführten async
-Generators und async
-Iterators mit.
Dabei handelt es sich aktuell um ein Opt-in-Feature bei der Nutzung des --downlevelIteration
-Flags. Das Feature verbessert damit den ECMAScript-Support von TypeScript deutlich – insbesondere, wenn es um das Targeting älterer Versionen geht. Zudem arbeitet TypeScript nun besser mit Libraries wie redux-saga zusammen.
Einfacherer Projektstart
Auch der Projektstart soll mit der neuen Sprachversion erleichtert werden. Dafür wurden ebenfalls eine Reihe Verbesserungen implementiert, etwa beim --help
– und --init
-Output. Außerdem wurde das neue --strict
-Flag hinzugefügt, das etwa die folgenden Einstellungen aktiviert:
--noImplicitAny
--strictNullChecks
--noImplicitThis
--alwaysStrict
Alle Änderungen lassen sich im oben genannten Blogpost sowie auf der What’s-New-Seite nachlesen. TypeScript steht über NuGet sowie npm zur Installation zur Verfügung.