JavaScript

HackerJobs_JavaScript

Photo by Markus Spiske on Unsplash

Ursprünglich wurde die Skriptsprache JavaScript von Netscape im Jahr 1995 entwickelt. Die Entwicklung erfolgte für dynamisches HTML in Webbrowsern. Ziel war es, Interaktionen der Benutzer auszuwerten, verschiedenste Inhalte zu ändern, zu generieren oder nachzuladen. Damit sollten die Möglichkeiten von CSS und HTML erweitert werden. In der heutigen Zeit lässt sich JavaScript auch außerhalb von Webbrowsern anwenden. Beispielsweise auf Microcontrollern oder Servern.

Die Ursprünge

Anfangs wurde die Programmiersprache LiveScript genannt. Erst nachdem Netscape mit Sun Microsystems eine Kooperation einging (1996) wurde aus LiveScript JavaScript. Mithilfe von LiveScript konnten die Java-Applets, welche mit der Programmiersprache Java geschrieben wurden, in den Netscape Navigator integriert werden. Da Java zu diesem Zeitpunkt schon recht populär war, sollte LiveScript von der Popularität profitieren und wurde dementsprechend in JavaScript umgenannt. Allerdings haben beide Programmiersprachen nur sehr wenig mit einander gemeinsam.

Der Sprachkern von JavaScript trägt den Namen ECMAScript. Er beschreibt eine dynamisch typisierte, klassenlose, objektorientierte Skriptsprache. Die Programmiersprache wird generell allen Programmierparadigmen, die objektorientiert sind, gerecht. Developer können mittels JavaScriptprozedural, objektorientiert oder funktional programmieren.

Der Entwicklungsprozess

Im Allgemeinen ähnelt die Syntax der Programmiersprache stark denen von C-Abkömmlingen. Gemeinsamkeiten mit Java existieren nur sehr wenige. JavaScript Vererbungen werden beispielsweise durch Prototypen unterstützt, während sie bei Java durch Klassen unterstützt werden. Früher setzen Developer die Scriptsprache vorrangig clientseitig ein. Allerdings ermöglichen verschiedene Implementierungen auch serverseitige Anwendungen. Beispiele hierfür sind unter anderem POW, Jaxer oder V8CGI. Ferner nutzen Developer die Programmiersprache für Anwendungsprogramme und Spiele. Grund hierfür ist der Sprachkern mit wenigen Objekten. In diesem Zusammenhang kann der notwendige Interpreter relativ klein gehalten werden. Darüber hinaus lässt sich JavaScript in Microcontrollern sowie in der Datenbank MongoDB als Verkehrssprache nutzen.

Anwendungsgebiete

Typischerweise nutzen Developer die Scriptsprache für dynamische Manipulationen innerhalb von Webseiten. Ferner lassen sich mithilfe der Sprache Formulareingaben vor der Übermittlung an einen Server auf Plausibilität prüfen. Dialogfenster können mithilfe der Programmiersprache angezeigt werden und der Datenempfang sowie die Datensendung sind ohne erneutes Laden einer Webseite möglich. JavaScript sorgt außerdem dafür, dass Suchbegriffe bereits während der Eingabe vorgeschlagen werden. Lautschriften und Werbebanner basieren ebenfalls auf der Scriptsprache. Für die Spam-Bekämpfung verschleiert die Sprache E-Mail-Adressen. Der Wechsel mehrerer Frames auf einmal und die Lösung einer Seite aus einem Framset geschieht ebenfalls über diese Programmiersprache. Abschließend erlaubt sie den Zugriff auf den Web Storage und Cookies.

Missbrauch von JavaScript

Die Scriptsprache ermöglicht dem Developer aber auch die Entwicklung von Anwendungen, die gegen den Nutzerwunsch arbeiten und dem allgemeinen Prinzip in seinen Grundsätzen widersprechen. Teilweise gibt es jedoch Browser, die verschiedene Funktionen integriert haben, welche missbräuchliche Funktionen unterdrücken. Nachfolgend einige Beispiele für unerwünschte Funktionen:

  • Kopierfunktionen werden deaktiviert, damit Texte oder Bilder nicht kopiert werden können
  • Die Größe des Browserfensters wird ungewollt vergrößert
  • Das Browserfenster wird ungewollt geschlossen
  • Das Kontextmenü wird deaktiviert, um die Speicherung von Bildern oder ganzen Seiten zu erschweren
  • verweisende Internetadressen werden verschleiert
  • Pop-ups, rasch folgende Dialogfenster, Pop-unders werden geöffnet und behindern den Nutzer
  • Browser-Sicherheitseinstellungen bleiben unberücksichtigt. Nutzer werden auch ohne Erlaubnis wiedererkannt
  • Dritte können die Programmiersprache bei anfälligen Webanwendungen missbrauchen