Java Reference
In-Depth Information
Listing 13.25■ Umgehung der objektorientierten Idee
...
obj = RJS();
...
In der angegebenen Zeile wird einfach die geplante Konstruktormethode als gewöhnliche
Funktion aufgerufen (beachten Sie, dass das new fehlt!), was man ja wie gesagt nicht verhin-
dern kann. Und dann nehmen wir den Rückgabewert, um darüber die Eigenschaten/
Methoden aufzurufen. Denn der Rückgabewert ist ein Objekt! Hier sehen Sie erneut, dass
sich Konstruktormethoden und konventionelle Funktionen in JavaScript nicht unterschei-
den. Nur die Art des Aufrufs macht den Unterschied. Da wir aber unsere Funktion hier
speziell gebaut haben, agiert die Funktion bei dieser Verwendung ohne new im Sinn einer
sogenannte Factory . Unsere Funktion ist also sowohl als Konstruktor mit einer sinnvollen
Datenkapselung als auch als Funktion zum Erzeugen eines Objekts identisch zu gebrau-
chen. Sie sehen also - auch eine Datenkapselung ist in JavaScript möglich. Aber das ist -
wie die Vererbung  - in JavaScript nur durch etwas trickreiche Programmierung möglich
und weder so zuverlässig noch so umfangreich zu steuern, wie in echten objektorientierten
Sprachen. Dessen ungeachtet ermöglichen die hier gezeigten Ansätze zumindest eine
grundlegende Strukturierung.
13.6■Ausblick auf JavaScript Version 2.0
Die Einführung von JavaScript Version 2.0 wird schon gefühlte Ewigkeiten diskutiert und
angekündigt. Es ist aber immer noch nicht sicher, wann sie wirklich kommt und was genau
als Neuerungen tatsächlich implementiert wird, zumal JavaScript sich explizit an der Ent-
wicklung und Standardisierung von ECMAScript orientiert. Jedoch manifestieren sich
einige Neuerungen recht massiv und die Stoßrichtung ist eindeutig zu erkennen - die wei-
tere Anpassung an mächtigere Sprachen wie Java oder C#. Im Wesentlichen sollen objekt-
orientierte Konzepte, die wir in dem Kapitel gesehen haben und bisher in JavaScript nur bei
Bedarf über eine gewisse trickreiche Programmierung und Konventionen umgesetzt wer-
den, standardisiert und direkt von der Umgebung unterstützt möglich sein. Die Neuerun-
gen von JavaScript 2.0 werden die Sprache erheblich leistungsfähiger und sicherer machen,
aber um die Neuerungen zu nutzen, wird auch erheblich mehr Programmiererfahrung not-
wendig. Die Einstiegshürden werden teils massiv höher und deshalb wird mal wohl viele
Dinge von JavaScript 2.0 nur als optionale Features bereitstellen und in der Praxis auch nur
in wirklich komplexen und professionellen Projekten überhaupt einsetzen. Dazu müssen
wir beachten, wann die Browser so weit sind, dass Sie die Techniken überhaupt einsetzen
können. Mehr noch als bei HTML5 wird es Jahre dauern, bevor man lächendenkend die
Unterstützung der neuen Features voraussetzen kann. Und dann steht auch noch nicht fest,
ob alle Browserhersteller wirklich eine identische Syntax unterstützen. Da ist noch sehr viel
im Fluss. Dennoch ist es spannend zu sehen, was da kommen soll (und letztendlich wohl
auch kommen wird).
 
Search WWH ::




Custom Search