Es gibt verschiedene Möglichkeiten, um während der Lektüre dieses Buches JavaScript-Programme auszuführen. Da JavaScript ursprünglich zur Ausführung in einem Browser gedacht war, können Sie JavaScript-Code in eine HTML-Datei einbetten. Um Werte anzuzeigen, rufen Sie darin die Methode window.alert auf. Eine solche Datei sieht wie folgt aus:
<html>
<head>
<title>My First JavaScript Program</title>
<script type="text/javascript">
let a = 6
let b = 7
window.alert(a * b)
</script>
</head>
<body>
</body>
</html>
Wenn Sie die Datei in einem Browser öffnen, wird das Ergebnis wie in Abbildung 1–1 in einem Dialogfeld angezeigt:
Abb. 1–1 Ausführung von JavaScript-Code in einem Browser
Sie können auch kurze Folgen von Anweisungen in die Konsole eingeben, die zu den Entwicklerwerkzeugen des Browsers gehört. Suchen Sie den Menübefehl oder die Tastenkombination zur Anzeige dieser Werkzeuge. (In vielen Browsern ist das die Taste
Abb. 1–2 Ausführung von JavaScript-Code in der Entwicklerkonsole
Eine dritte Möglichkeit besteht darin, Node.js von http://node.js.org zu installieren, ein Terminalfenster zu öffnen und darin das Programm node auszuführen. Dadurch wird eine JavaScript-»REPL« gestartet (Read-Eval-Print Loop, also etwa »Lese-, Ausführungs- und Ausgabeschleife«). Darin können Sie Befehle eingeben und sich die Ergebnisse anzeigen lassen (siehe Abb. 1–3).
Abb. 1–3 Ausführung von JavaScript-Code in der Node.js-REPL
Wenn Sie längere Codefolgen ausführen wollen, schreiben Sie die Anweisungen in eine Datei. Für Ausgaben verwenden Sie dabei die Methode console.log. Beispielsweise können Sie die folgenden Anweisungen in eine Datei aufnehmen, die Sie first.js nennen:
let a = 6
let b = 7
console.log(a * b)
Führen Sie anschließend den folgenden Befehl aus:
node first.js
Im Terminal wird nun die Ausgabe des Befehls console.log angezeigt.
Sie können auch eine Entwicklungsumgebung wie Visual Studio Code, Eclipse, Komodo IDE oder WebStorm verwenden. Darin können Sie, wie in Abbildung 1–4 gezeigt, JavaScript-Code bearbeiten und ausführen:
Abb. 1–4 Ausführung von JavaScript-Code in einer Entwicklungsumgebung
1.2Typen und der Operator typeof
Werte in JavaScript sind jeweils von einem der folgenden Typen:
eine Zahl
einer der booleschen Werte false oder true
einer der besonderen Werte null oder undefined
ein String
ein Symbol
ein Objekt
Die Typen, die keine Objekte sind, werden zusammengenommen als primitive Typen bezeichnet.
Mehr über diese Typen erfahren Sie in den folgenden Abschnitten. Die einzige Ausnahme bilden die Symbole, die erst in Kapitel 11 behandelt werden.
Den Typ eines gegebenen Werts können Sie mit dem Operator typeof herausfinden, der einen der Strings 'number', 'boolean', 'undefined', 'object', 'string' oder 'symbol' oder einen von wenigen weiteren möglichen Strings zurückgibt. Beispielsweise ergibt typeof 42 den String 'number'.
Hinweis
Obwohl der Typ null nicht identisch mit dem Typ object ist, ergibt typeof null den String 'object'. Das ist leider historisch so gewachsen.
Vorsicht
Ähnlich wie in Java können Sie in JavaScript Objekte als Wrapper für Zahlen, boolesche Werte und Strings konstruieren. Beispielsweise werden sowohl typeof new Number(42) als auch typeof new String('Hello') zu 'object' ausgewertet. Allerdings gibt es in JavaScript keinen sinnvollen Grund dafür, solche Wrapper-Instanzen zu erstellen. Da sie eher für Verwirrung sorgen, ist ihre Verwendung in vielen Programmierstandards untersagt.
1.3Kommentare
In JavaScript können Sie zwei verschiedene Arten von Kommentaren einfügen. Einzeilige Kommentare beginnen mit // und laufen bis zum Ende der Zeile:
// Einzeiliger Kommentar
Dagegen können mit /* und */ abgegrenzte Kommentare mehrere Zeilen umspannen:
/*
mehrzeiliger
Kommentar
*/
In diesem Buch verwende ich eine Serifenschrift, um die Kommentare in Listings deutlicher hervorzuheben.