JavaScript

Microsoft veröffentlicht TypeScript 3.6

TypeScript 3.6 erschienen: Strikteres Checking für Generator Functions
Keine Kommentare

TypeScript 3.6 wurde von Microsoft für Ende August angekündigt, und pünktlich ist nun die neue Version erschienen. Mit an Bord sind neue Features, Breaking Changes und ein überarbeiteter TypeScript Playground.

TypeScript 3.6 ist in der finalen Version erschienen und wurde in einem Blogeintrag von Daniel Rosenwasser vorgestellt. Damit gehen die strikteren Checks für Generator Functions und die neue UX rund um Promises in die allgemeine Verfügbarkeit über, und auch vom TypeScript Playground gibt es Neuigkeiten.

TypeScript Playground

Mit der Veröffentlichung von TypeScript 3.6 wurde eine Überarbeitung des TypeScript Playgrounds bekanntgegeben. Der neue Playground ist größtenteils ein Fork der Version von Entwickler Artem Tyurin, der laut Rosenwasser in der Community häufig genutzt wird. Zu den neuen Optionen zählen Target, wodurch Nutzer von ES5 zu ES3, ES2015, ESNext etc. wechseln können, und Support für alle Strictness Flags. Auch enthalten ist der Support für gewöhnliche JavaScript-Dateien durch allowJs und – optional – die Auswahl von checkJs. Die genutzten Optionen bleiben auch beim Teilen von Links zum Playground bestehen, sodass den Empfängern keine Hinweise zum Aktivieren bestimmter Optionen mitgegeben werden müssen.

Zukünftig sind die Aktualisierung der Playground Samples, JSX Support und die Verfeinerung von Automatic Type Acquisition geplant.

Die Features in TypeScript 3.6

In TypeScript 3.6 werden striktere Checks für Iterators und Generator Functions eingeführt, denn in früheren Versionen hätten Generators-Nutzer nicht erkennen können, ob ein Wert von einem Generator ausgegeben oder bloß zurückgegeben wurde. Das soll durch die strikteren Checks im aktuellen Release kenntlich gemacht werden. Aus der Betaversion ebenfalls schon bekannt ist die überarbeitete UX rund um Promises: Spezifischere Fehlermeldungen sollen darauf hinweisen, wenn zum Beispiel das Keyword await fehlt.

Bereits in TypeScript 3.0 wurde das --build-Flag eingeführt, in TypeScript 3.4 das --incremental-Flag. Diese funktionierten jedoch nicht mit Build-Tools von Drittanbietern wie Gulp oder Webpack. Abhilfe soll in TypeScript 3.6 geschaffen werden – durch neue APIs, die im entsprechenden Pull Request näher beschrieben wurden.

IT Security Summit 2019

Sichere Logins sind doch ganz einfach!

mit Arne Blankerts (thePHP.cc)

Hands-on workshop – Hansel & Gretel do TLS

mit Marcus Bointon (Synchromedia Limited)

In der Betaversion wurden schon Breaking Changes angekündigt, die nun im finalen Release erschienen sind. Unter anderem davon betroffen sind Constructor Functions. Gemäß ECMAScript-Spezifikation gelten Klassendeklarationen mit Methoden der Bezeichnung „constructor“ in TypeScript 3.6 als Constructor Functions – unabhängig davon, ob sie durch Identifier- oder String-Namen deklariert sind, wie im Blogeintrag gezeigt wird:

class C {
    "constructor"() {
        console.log("I am the constructor now.");
    }
}

Eine Ausnahme und gleichzeitig den Workaround bildet ein Computed Property:

class D {
    ["constructor"]() {
        console.log("I'm not a constructor - just a plain method!");
    }
}

Weitere Breaking Changes betreffen DOM-Updates und JSDoc-Kommentare. Zudem gibt es den Breaking Change, dass Keywords keine Ausstiegssequenzen mehr enthalten dürfen.

Alle Details zu TypeScript 3.6 und dem neuen TypeScript Playground gibt es im Blogeintrag von Daniel Rosenwasser, Program Manager von TypeScript.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -