It’s #FrontendFriday – TypeScript 4.0 ist da!
Gestern wurde TypeScript 4.0 veröffentlicht. [1] Die neue Version bringt einige Änderungen und neue Features mit. In diesem Blogpost stelle ich euch die interessantesten vor.
Optional Delete-Operators:
Delete-Operatoren müssen künftig als optional gekennzeichnet sein, ansonsten wird ein Error angezeigt [2].
interface Thing { prop: string; } function f(x: Thing) { delete x.prop; // ~~~~~~ // error! The operand of a 'delete' operator must be optional. }
Properties Overriding Accessors is an Error:
Vererbte Variablen dürfen künftig nicht überschrieben werden [3].
class Base { get foo() { return 100; } set foo() { // ... } } class Derived extends Base { foo = 10; // ~~~ // error! // 'foo' is defined as an accessor in class 'Base', // but is overridden here in 'Derived' as an instance property. }
Deprecated-Feature:
Mit /**@deprecated*/
markierte Klassen werden künftig als durchgestrichen angezeigt, wenn diese an einer anderen Stelle instantiiert werden.
Zudem werden veraltete Vorschläge in der Liste künftig als durchgestrichen dargestellt [4].
Konvertierung von Verkettungen:
Lange Verkettungen können optisch konvertiert werden. Dabei geht die eigentliche Funktionalität nicht verloren [5].
Mit npm i typescript
könnte ihr ab sofort die neue TypeScript-Version 4.0.2 installieren [6].
Ein Upgrade in einem bestehenden Projekt sollte man sich jedoch genau überlegen. Natürlich bringt jedes Upgrade Aufwände mit sich. Allerdings werden mit Typescript 4.0. manche Funktionen, wie beispielsweise document.origin
, nicht mehr verfügbar sein. Hinzu kommen einige Änderungen, von denen manche in diesem Beitrag bereits kurz beschrieben wurden.
Für neue Projekte gibt es jedoch keinen Grund TypeScript 4.0 nicht einzusetzen.
Die Webfrontend-AG wünscht euch einen schönen Start ins Wochenende! :)
Quellen:
Announcing TypeScript 4.0 [1]
Delete operators [2]
Overriding accessors [3]
Deprecated feature [4]
Converting Chains [5]
Install TypeScript 4.0 [6]