Hans, Schepp und Stefan analysieren ein Best-Of der kommenden TypeScript Version 3.7.
Schaunotizen
- [00:00:59] TypeScript 3.7
- Mittlerweile kommen ausführliche TypeScript-Revisionen halbjährlich beim Working Draft. Vor ca. einem Jahr (und 50 Revisionen) haben sich Hans, Peter und Stefan ausführlich über Version 3.0 unterhalten. Laut Hans sogar episch! Ein halbes Jahr und 30 Revisionen später gab’s eine Einführung in TypeScript im Backend. Weitere 20 Revisionen später kommen nun eine Reihe fantastischer Features in Version 3.7 an: Assertion signatures, nullish coalescing, optional chaining, recursive types, top-level await und ES private fields. Eine ganze Reihe an Dingen, von der sich alle recht begeistert zeigen. Wir geben Infos, Hintergrund, und streuen noch einige eigene TypeScript Erfahrungen mit ein. Mittlerweile ist es nämlich bei uns allen angekommen. Und wird wohl auch nicht mehr so schnell wegkommen.
- Fettblog
- Stefans Blog hat sich zur TypeScript-Ressource verwandelt.
- Understanding Type Predicates
- Neben Stefans Artikel zum Thema etwas aktuelleres auf Dev.to.
Kommentare
Reinhard #
Geschrieben am 7.12.2019 um 20:06
prima Sendung – danke.
Typescript ist wirklich sehr mächtig, da könnte man 10 Sendungen drüber machen.
Ich habe eine Frage zu conditional Types.
class Node {…}
class Factory {
sendMessage(type: „create“ | „remove“)
}
die soll bei sendMessage mit „create“ eine return-type Node zurückliefern
und bei „remove“ ein number. (Da vermute ich sind beim return von sendMessage conditional Types hilfreich.)
d.h. ich will schreiben können.
const node = factory.sendMessage(„create“)
// hier soll node jetzt direkt ein Node object sein.
geht das überhaupt ?
wenn ja, Wie ?
danke + Gruß
Reinhard
Peter #
Geschrieben am 8.12.2019 um 14:17
Für mich sieht das eher nach einem Problem aus, das mit Überladen gelöst werden will. Wann immer sich der Rückgabe-Typ abhängig von einem Input-Typ verändert, sind mehrfache Funktionssignaturen die richtige Lösung. So würde ich es jedenfalls lösen. Über den Umweg einer Typ-Variable für den Typ von
type
geht es auch mit Conditional Types, aber ich finde, dass das zum einen nicht die passendste Lösung ist und zum anderen skaliert es schlecht. Was, wenn es neben Create und Remove demnächst noch Upgrade, Move und Change gibt? Diesen Conditonal Type würde ich nicht schreiben wollen!Reinhard #
Geschrieben am 8.12.2019 um 17:51
Cool – „mehrfache Funktionssignaturen“ das sieht sehr gut aus.
Ich merke: ich bin bei Typescript noch ganz am Anfang – da ist noch viel zu lernen.
Peter, ganz vielen Dank für die schnelle und sehr hilfreiche Antwort.
RSS-Feed zu diesem Beitrag
Kommentare sind für diesen Beitrag geschlossen.