dedlfix: JavaScript: anonyme Funktion

Beitrag lesen

Tach!

Ein großer Nutzen ergibt sich daraus, dass anonyme Funktionen als Code-Referenz konfliktfrei über mehrere Namespaces hinweg verwendet werden können.

Das ist mit benannten Funktionen problemlos ebenso erreichbar. Ob man eine Variable mit Referenz auf eine (anonyme) Funktion oder eine Referenz auf eine benannte Funktion übergibt, bleibt sich gleich.

Beispielsweise um Klasseninstanzen zur Laufzeit erweitern zu können mit Methoden deren Namen zum Zeitpunkt der Instanzerstellung noch gar nicht feststehen.

Klasseninstanzen bei Javascript?

Natürlich kann man Objekte zur Laufzeit um Eigenschaften erweitern, auch solche die auf anonyme oder benannte Funktionen verweisen, um dann damit sozusagen Methoden hinzuzufügen. Ob das aber der Weisheit letzter Schluss ist, wage ich zu bezweifeln. Das kann man machen, das gibt die Sprache her. Aber ohne einen Anwendungsfall zu kenne, klingt das erstmal ziemlich abenteuerlich. Das ergibt jedenfalls Code, der erst zur Laufzeit offenbart, was wirklich abläuft. Das macht solche Konstrukte sicher nicht einfacher verständlich.

Übrigens kann man auch die Prototypen um Eigenschaften erweitern. Das macht man aber eher definiert und bevor der eigentliche Kern der Anwendung startet, weil feststeht, dass man die Funktionalität benötigt. Beispiel sei hier die Erweitung von Standard-Objekten um den Nachbau von Funktionen von zukünftigen Javascript-Versionen. Auch das geht mit benannten Funktionen genauso wie mit anonymen, ist also kein Vorteil.

dedlfix.