JavaScript unterstützt objektorientierte Entwicklung

Sie denken vielleicht, dass Figure() nicht wie eine Klasse aussieht, sondern eher wie eine JavaScript-Funktion. Weshalb ist Figure() eine Klassendefinition?

Um es genau zu sagen: Die Funktionsbeschreibung Figure() ist keine Klassendefinition, sondern sie imitiert sie. In Wirklichkeit erzeugt sie ein Objekt, und der innerhalb der geschweiften Klammern enthaltene Code ist der Konstruktor dieses Objekts. Die von JavaScript gebotene Objektunterstützung ist rudimentär und unterscheidet Klassen nicht von Objekten.

Dies führt nun zu der Frage, warum die Funktion Figure() ein Objekt erzeugt. Ein Objekt kann Eigenschaften und Methoden besitzen. Nachdem die Funktion Figure() sowohl Eigenschaften als auch Methoden hat, ist sie im Grunde ein Objekt. In JavaScript sind alle Funktionen gleichermaßen Objekt und aufrufbarer Codeblock. Dies ist weniger verwirrend als es scheint. Um eine Instanz der Klasse bzw. des Objekts Figure() zu erzeugen, wird einfach die nachstehende
Syntax angewandt:


MyFigure = new Figure();

Die Funktion Figure()wird als Codeblock wie folgt aufgerufen:


figValue = Figure();

Die Variable figValue ist nicht definiert, da der Codeblock Figure() keinen Wert zurückgibt. Fügt man return(this.area) als letzte Zeile der Funktion zu, wird figValue den Wert „0“ haben. figValue ist daher ein Zahlenwert, und MyFigure ist eine Instanz des Objekts Rectangle.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

1 Tag ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

1 Tag ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

1 Tag ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

1 Tag ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

1 Tag ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

2 Tagen ago