© amiak/Shutterstock.com
Bibliothek decko als Lösung für typische Programmierprobleme

Node.js-Module: decko


Zu den Eigenheiten von JavaScript gehört das Entstehen von Duplikaten, die Entwickler vor Herausforderungen stellen. Eine Lösung des Problems kann die Bibliothek decko mit ihrer implementierten Sammlung an Dekoratoren sein, die beispielsweise Klassen und Methoden um wichtige Eigenschaften für die problemlose Programmierung ergänzt.

Fragt man Entwickler, was guten Code ausmacht, so antworten viele, dass guter Code möglichst wenige Duplikate aufweisen sollte. Viele dieser Duplikate entstehen durch Eigenheiten von JavaScript selbst. Der Vorteil ist, dass Sie mit Ihren Problemen glücklicherweise nicht alleine sind. Stoßen Sie auf Schwierigkeiten, sollte Ihre erste Anlaufstelle die npm-Plattform sein. In den meisten Fällen werden Sie hier schnell fündig, wenn es um kreative Lösungen geht. Ein Beispiel für eine solche Lösung von typischen Programmierproblemen ist die Bibliothek decko. Hierbei handelt es sich um eine Sammlung von drei Dekoratoren:

  • @bind: Mit diesem Dekorator wird der Wert von this einer Methode fest gebunden.

  • @debounce: Dieser Dekorator sorgt dafür, dass eine Methode nicht zu oft aufgerufen wird.

  • @memoize: Dieser Dekorator bietet Ihnen die Möglichkeit, Rückgabewerte von Funktionen zu cachen.

Was sind Dekoratoren?

Dekoratoren sind ein Feature, das zukünftig in den JavaScript-Standard aufgenommen werden soll. Aktuell werden Dekoratoren noch von keinem Browser unterstützt. Mit einem Transpiler wie beispielsweise TypeScript können Sie dieses Feature bereits jetzt in Ihrer Applikation nutzen. Populäre Beispiele für die Verwendung von Dekoratoren sind clientseitig Angular und serverseitig Nest.js. Beide Lösungen setzen dieses Feature häufig ein, um Klassen, Methoden oder Eigenschaften durch zusätzliche Informationen zu ergänzen. Ein Dekorator steht dabei immer bei der Struktur, auf die er zugreifen soll, und wird mit dem @-Zeichen eingeleitet. Im Kern ist ein Dekorator nichts weiter als eine Funktion, die mit der jeweiligen Struktur, also beispielsweise der Methode, aufgerufen wird. Listing 1 zeigt ein einfaches Beispiel für einen Dekorator.

Listing 1: Implementierung eines Dekorators

function myDecorator(target: User) { console.log(target); } @myDecorator class User {} const klaus = new User();

Der Dekorator in Listing 1 gibt lediglich eine Repräsentation der Klasse auf der Konsole aus. Im Zuge der Funktion haben Sie jedoch auch die Möglichkeit, schreibend auf die Struktur der Klasse zuzugreifen. Ein weiteres Feature, das Sie mit Dekoratoren umset...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang