kicia: Wie bezeichnet man diese Methoden?

Beitrag lesen

Hallo Leser,

vor einiger Zeit bin ich auf 2 Arten von Methoden gestoßen, ...

ich bin nicht einverstanden mit der formulierung, daß es verschiedene Arten von Methoden gäbe.
Ich behaupte, Funktionen sind immer das selbe, ob man sie nun statisch nennt oder nicht, egal, ob sie zu einem Objekt gehören oder nicht. Einzig die Bedeutung von "this" ändert sich, was man mit der Möglichkeit, auf Objekteigenschaften zuzugreifen vergleichen (verwechseln) könnte.

Ich finde, wenngleich es bequem ist, die Begriffe Klassenbasierter OOP Sprachen zu verwenden (was ich auch tue: "Methoden, Attribute, private, public, ...") sollte man sich im klaren sein, daß es nicht das selbe ist. Javascript hat keine Klassen, kein private, kein public, ...
Alles sind Objekte: Arrays, Funktionen, Numbers, Strings, (...)
"Member" sind Elemente dieser Objekte und wieder Objekte.
"Methoden" sind Funktionen, private und public hängt nur vom Namensraum ab, usw.

Versuch mal (auch wenns nicht identisch ist) Objekte als Arrays zu verstehen:
window: ein Array,
window["document"]: ein Element und wieder ein Array,
window["Person"] auch Element und Array,
window["Person"]["niessen"] ein Element und Funktion,
...
Das und das Prinzip der Namespaces macht eigentlich fast alles deutlich, finde ich.

Bei Recherchen halte ich mich gern an die Entsprechenden Spezifikationen, oder ich lese Artikel/Arbeiten auf Uni-Seiten ("inurl:uni"). Die sind nicht zwangsläufig besser als andere Quellen, aber meistens sehr umfangreich und von der Intention her vollständig und nachvollziehbar (Quellenangaben).

Suchbegriffe vielleicht: "prototypisches Objekt", "prototypical oop"
(beim Begriff "prototype" findet man ja leider immer das framework)

zB.: Objekt-Handling in JavaScript