Aus Java bekannte Konzepte auch in JavaScript

JavaScript: Mehr Struktur im Code

Oliver Zeigermann
© iStockphoto.com/alvarez

Unabhängig von der Programmiersprache erfordern größere Projekte mit vielen Mitarbeitern Strukturen zur Organisation des Codes. JavaScript bietet von sich aus keine solchen Mittel. Es gibt kein eingebautes Konzept für Sichtbarkeitsbeschränkungen. Auch keine Module oder Packages, wie sie euch aus Java bekannt sind. Allerdings ist es möglich, diese Konzepte mithilfe von Patterns nachzubauen. Zentral ist das Funktionenkonzept, dieses Mal aber noch in einer besonderen Spielart, der Closure.

Anders als in Java spannen in JavaScript Blöcke keine Sichtbarkeitsbereiche auf. Tatsächlich sind Funktionen die einzige Möglichkeit, Sichtbarkeitsbereiche in JavaScript zu definieren. Was wir zudem für Module brauchen, ist eine selektive Sichtbarkeit. Manche Typen, Funktionen und Felder sollen auch außerhalb des Moduls sichtbar sein, andere nicht. In unserer ersten Form ist ein Modul nur ein Sichtbarkeitsbereich, den wir als anonymen Funktionsblock erzeugen. Dieses könnt ihr in Listing 1 sehen.

Was passiert hier? Erst einmal definieren wir eine anonyme Funktion, also eine Funktion ohne Namen. Diese führen wir sofort mit () aus. Das weitere Klammerpaar um die Funktionsdefinition herum ist nur aus syntaktischen Gründen notwendig.

Da Funktionen Sichtbarkeitsbereiche aufspannen, ist die Variable Config nach der Ausführung der Funktion nicht mehr sichtbar und wir haben eine Konstante innerhalb des Moduls definiert. Dieses Pattern ist auch unter dem Namen IIFE für Immediately-Invoked Function Expression bekannt [2]. […]

JavaScript für Java-Entwickler

Dieser Artikel ist eine leicht gekürzte und für den Heftdruck angepasste Version des 5. Kapitels des Buchs „JavaScript für Java-Entwickler“ [1]. Es führt anhand von vielen Codebeispielen in die Grundlagen der Programmiersprache JavaScript ein. Zielpublikum sind Java-Entwickler, die sich so einfach und schmerzfrei wie möglich der Sprache nähern wollen oder müssen. Deshalb wird alles weggelassen, was man als Java-Entwickler entweder sowieso weiß oder nicht wissen muss. Zudem werden Vergleiche zu bereits bekannten Konzepten aus dem Java-Bereich gezogen.

 
Den vollständigen Artikel finden Sie im Heft.
Geschrieben von
Oliver Zeigermann
Oliver Zeigermann
Oliver Zeigermann ist Softwareentwicklungs-Enthusiast, der sich besonders für Singe-Pages-Webanwendungen (SPAs) in Java und JavaScript interessiert. Er lebt in Hamburg und arbeitet als selbständiger Consultant, Trainer, Coach und Software-Entwickler. Twitter: @djcordhose
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: