Tutorials › Teil 1: Grundlagen

Kapitel 1 von 16

Was JavaScript ist und wo es läuft

Ein Reaktionstest, der die Millisekunden zwischen Aufblitzen und Klick stoppt. Ein Rechner für den Benzinverbrauch. Ein Galgenmännchen mit Strichzeichnung. Die drei liegen in diesem Archiv, sie sind zusammen keine zweitausend Zeilen Code, und keines von ihnen fragt unterwegs irgendeinen Server um Erlaubnis.

Das ist keine Nebensächlichkeit. Das ist der ganze Witz an der Sache.

Der Browser kann rechnen

Jeder Browser bringt einen Übersetzer für JavaScript mit. Chrome nennt seinen V8, Firefox nennt ihn SpiderMonkey, bei Safari heißt er JavaScriptCore. Was sie tun, ist dasselbe: Sie lesen Text, den du geschrieben hast, und führen ihn aus.

Auf dem Rechner des Besuchers. Nicht auf deinem.

Wenn jemand auf dieser Seite den BMI-Rechner benutzt, tippt er Größe und Gewicht ein, und die Zahl erscheint. Diese Zahl ist nie irgendwo hingeflogen. Sie wurde in seinem Browser ausgerechnet, aus zwei Werten, die sein Browser kannte, und danach war es das. Kein Netzwerkverkehr, keine Datenbank, kein Protokoll.

Für Werkzeuge dieser Art ist das die passende Bauweise. Für eine Bank wäre es die falsche, denn was im Browser läuft, kann der Besucher ändern. Behalte das im Hinterkopf, es wird in Kapitel 14 nochmal wichtig.

Ausprobieren, sofort

Unten steht ein Beispiel. Es läuft schon, während du liest. Wenn du auf „Code ändern" drückst, kannst du hineintippen, und das Ergebnis passt sich nach einem kurzen Moment an.

zeige("Hallo.")
zeige("Zwei plus zwei ist", 2 + 2)
zeige("Und heute ist der", new Date().getDate() + ".")

zeige() gibt es nur hier im Kurs. Es schreibt seine Argumente in den hellen Kasten darunter, damit du nicht ständig das Entwicklerwerkzeug aufklappen musst. In einer echten Seite heißt der übliche Weg console.log(), und die Ausgabe landet in der Konsole des Browsers. Beides funktioniert in den Probierfeldern, console.log ist hier auf zeige umgebogen.

Die Konsole öffnest du mit F12, in Firefox und Chrome gleichermaßen. Unter macOS ist es Cmd + Wahltaste + I. Dort gibt es eine Eingabezeile, in die du direkt tippen kannst, ohne überhaupt eine Datei anzulegen. Für schnelle Versuche ist das der kürzeste Weg, den es gibt.

Der Name ist eine Marketingentscheidung von 1995

JavaScript hat mit Java nichts zu tun. Nicht die Syntax im Kern, nicht die Laufzeitumgebung, nicht der Hersteller, nicht das Einsatzgebiet.

Brendan Eich schrieb die erste Fassung bei Netscape in ungefähr zehn Tagen. Sie hieß Mocha, dann LiveScript. Java war zu diesem Zeitpunkt das, worüber alle redeten, Netscape und Sun hatten gerade einen Vertrag geschlossen, und so wurde aus LiveScript kurz vor Veröffentlichung JavaScript.

Der Name ist geblieben und verwirrt seit dreißig Jahren Leute. Wenn dir jemand ein Java-Buch für dieses Thema empfiehlt, hat er die Frage nicht verstanden.

Offiziell heißt die Sprache übrigens ECMAScript. So steht sie im Standard, und wenn du irgendwo „ES2015" oder „ES2020" liest, ist damit eine Jahresausgabe dieses Standards gemeint. Im Alltag sagt das niemand.

Was nicht geht

Ein paar Dinge kann JavaScript im Browser bewusst nicht, und das ist gut so.

Es kommt nicht an beliebige Dateien auf der Festplatte. Ein Skript kann eine Datei lesen, die der Besucher ihm ausdrücklich über ein Auswahlfeld gibt, sonst nichts.

Es kann keine fremden Seiten auslesen. Ein Skript auf dieser Seite darf nicht in dein geöffnetes Postfach schauen. Diese Grenze heißt Same-Origin-Policy, und sie ist der Grund, warum das Web halbwegs benutzbar geblieben ist.

Es hört auf zu existieren, sobald der Tab zugeht. Was gespeichert bleiben soll, muss der Besucher irgendwo hinlegen, wo es den Tab überlebt. Wie das geht, steht in Kapitel 14.

Was du brauchst

Einen Browser. Einen Texteditor. Das war es.

Kein Konto, keine Installation, kein Build-Werkzeug, keine dreihundert Megabyte in einem Ordner namens node_modules. Für alles in diesem Kurs reicht eine Datei mit der Endung .html, ein Doppelklick darauf und die geöffnete Konsole daneben.

Wenn du einen Editor suchst: Visual Studio Code ist kostenlos und kann JavaScript von Haus aus. Notepad++ tut es auch. Der Windows-Editor tut es zur Not ebenfalls, nur ohne jede Hilfestellung.

Wie der Code in die Datei kommt und warum die Position des Skripts im Dokument einen Unterschied macht, steht im nächsten Kapitel.