TypeScript-Funktionen dekorieren: Nicht nur zu Weihnachten!
Der Vorschlag für Decorators in ECMAScript hat mittlerweile Stufe 3 erreicht und somit sehr gute Chancen, in einer der nächsten ECMAScript-Versionen enthalten zu sein.
Seit Version 5.0 orientiert TypeScript sich an diesem Vorschlag bei seiner Implementierung von Decorators, mit weiteren Ergänzungen und Anpassungen in späteren Releases. Dadurch können wir Decorators bereits nutzen und bekommen einen Vorgeschmack darauf, was irgendwann nativ in JavaScript möglich sein wird.
In diesem Vortrag werden wir uns damit beschäftigen, wie diese Decorators funktionieren und wie wir sie in unseren Projekten effektiv einsetzen können. In praktischen Beispielen implementieren wir unsere eigenen Decorators und zeigen dabei unter anderem, wie einfach sich damit Logging für Funktionen oder Memoisierung umsetzen lässt.
Als besonderes Schmankerl entwickeln wir am Ende unser eigenes Decorator-basiertes Dependency-Injection-"Framework".
Vorkenntnisse
Grundkenntnisse in JavaScript/TypeScript reichen aus. Im Talk werden wir uns mit den nativen Möglichkeiten von TypeScript beschäftigen, weswegen keine Kenntnis eines Frameworks notwendig ist.
Am Ende werden wir einen Test in Jest schreiben, um unsere Dependency-Injection zu validieren, aber auch dafür ist keine Vorkenntnis in Jest nötig.
Lernziele
Nach dem Talk kennen die Teilnehmenden das Konzept von Decorators (allgemein das Decorator-Pattern und speziell Decorators in TypeScript). Sie haben verschiedene sinnvolle Einsatzmöglichkeiten kennengelernt und sind in der Lage, eigene Funktionen- und Klassen-Decorators zu schreiben.