ROGA: JavaScript

Beitrag lesen

Lieber Felix,

Ich fange langsam an, das Konstrukt zu verstehen und habe gerade für mich gedacht: "Ja, so macht das erstellen eines Objekts Sinn, so möchte ich es bauen" und du schreibst dann:

Spätestens jetzt wird die Sache unübersichtlich.

Für mich macht das Objekt in deinem Beispiel so absolut Sinn und ich würde es auch so bauen wollen. Sehe ich hier einfach nicht über den Tellerrand hinaus? Du und Rolf, ihr scheint euch hier ziemlich einig zu sein, was diese Problematik betrifft. Für mich ist es noch etwas undurchsichtig, weshalb ich mir die Frage stelle: Wieso wird's "unübersichtlich"?

Des Weiteren ...

 // Methode zum Aktualisieren der Daten in den Unterobjekten
 update: function () {
   Object.keys(this).forEach(name => {
     if ("function" == typeof this[name].loadData) {
       this[name].loadData();
     }
   });

Hier beiss ich mir an deinem Beispiel gerade die Zähne aus. Ich verstehe zwar, was diese Methode als Ergebnis liefert bzw. was sie bewirken soll, doch ich verstehe noch nicht wirklich, wie das im wesentlichen geschieht. Ich versuche das mal hier mit meinen eigenen Gedanken nachzuvollziehen:

Die Methode "update" ruft eine Funktion ohne Namen auf "update: function()". Dann folgt der Konstrukt dieser Funktion worin ein Objekt aufgerufen wird, das die Methode ForEach() besitzt -> "Object.keys(this).forEach()". Sollte ich das soweit richtig interpretiert haben, so habe ich es leider noch nicht entschlüsseln können, was "Object.keys() genau macht. Ich erahne nur, dass hier möglicherweise mit "this" (was geschätzt wohl das Objekt PVA repräsentiert) das gesamte PVA-Objekt nach Methoden mit der Bezeichnung "loadData" durchsucht wird. Wenn eine solche Methode gefunden wurde, wird diese dann mittels this[name].loadData() aufgerufen und somit ausgeführt. Aber wirklich sicher bin ich mir hier nicht.

Vielleicht magst du (oder jemand anders) meinem Gedankengang etwas auf die Sprünge helfen. Schon mal Danke im Voraus dafür ....

LG Roli