XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT * DIVERSES



Diverses / JavaScript / Objektorientiert programmieren mit JavaScript

Objektorientiert programmieren mit JavaScript

Objektorientiert programmieren mit JavaScript

➪ Dieser Beitrag zeigt anhand einer früheren Version von ECMAScript, wie die Ansätze der klassischen objektorientierten Programmierung (Datenkapselung, Vererbung, Polymorphie, Reflection) im übertragenen Sinn auch mit JavaScript umsetzbar sind.

Obwohl universal einsetzbar, findet JavaScript seit etlichen Jahren vorrangig Einsatz als browserseitige Programmiersprache, die in einer die Abarbeitung diverser Programmteile im Client übernimmt - mit unterschiedlicher Unterstützung der Sprache durch die Browseranbieter.

Jahrelang reduzierte sich die Anwendung auf die clientseitige Formularvalidierung, bevor ein Request zum Server abgeschickt wurde. Mittlerweile konzentriert sich der JavaScript-Einsatz auf eines der zahlreichen .

Spätestens mit AJAX hat sich die Bedeutung der Sprache verstärkt. In wirkungsvollem Zusammenspiel mit (X)HTML, CSS bietet JavaScript äußerst effiziente Möglichkeiten, u.a. per DOM-Programmierung beträchtliche Programm- bzw. Businesslogiken auf den Browser zu übertragen.

Etliche Webseiten setzen nachhaltig auf clientseitiges JavaScript (wobei auch vielversprechende Ansätze zu einer serverseitigen Anwendung von JavaScript vorhanden sind, etwa Node.js).

Die Bedeutung der Sprache ist in den letzten ca. 10 Jahren stark gestiegen, nachdem ihr allgemeiner Ruf vorher jahrelang nicht der beste war. Erst im letzten Jahrzehnt wurde ihre enorme Flexibilität bekannter und zunehmend populär.

Ein anfänliches Akzeptanzhindernis könnte darin gelegen haben, dass viele (Java-, C#.NET etc.) Developer - an streng objektorientierte Denkkategorien (Datenkapselung, Vererbung, Polymorphie) gewohnt - sich durch die Tatsache abschrecken ließen, dass es in Standard-JavaScript keine klassenbasierte Typdeklaration gibt. Da erschien es bequemer, mit GWT Java-Code zu schreiben und damit JavaScript-Code zu generieren.

Ein anderer Punkt mag gewesen sein, dass der Programmierer in JavaScript nicht von vornherein zu typsauberem Coding gezwungen wird. Umso mehr, als in JavaScript praktisch alles ein Objekt ist (von null oder primitiven Typen einmal abgesehen).

Das verlockt dazu, etwaige Datenkonvertierungen weitgehend dem System zu überlassen, das im Regelfall hoffentlich schon "das Richtige" tun wird. So wurden Leerstrings "" auch mal als 0 erkannt - was sich durch Anwendung typsauberer Operatoren wie ===, <==, >==, !== jedoch wieder ausbügeln liess.

Bei der Deklaration vieler instanziierbarer Typen spielen Functions nach wie vor eine wesentliche Rolle (auch wenn es Wege gibt, darauf zu verzichten). Bereits hier gibt es unterschiedliche Wege zur effizienten Deklaration.


function tuwas() { alert('Hallo'); }

lässt sich ebenso definieren als


var tuwas = function() { alert('Hallo'); };

oder als


var tuwas = new Function("alert('Hallo');");

wg / 6. September 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/javascript.html