Häufig wollen wir mit bestimmten Informationen nicht nur an einer Stelle im Programm bzw. zum Zeitpunkt direkt nach ihrer Eingabe arbeiten, sondern sie wiederholt und an verschiedenen Stellen verwenden. Für dieses grundlegende Prinzip stehen uns in JavaScript wie in allen gängigen modernen Programmiersprachen Variablen zur Verfügung. In Variablen können Daten gespeichert und immer wieder abgerufen werden. Bei diesem Thema lohnt es sich auch gleich, einen kurzen Blick auf die verschiedenen Arten von Daten zu werfen, mit denen wir es meistens zu tun haben.

Variablen deklarieren

Um Variablen in einem Programm einzuführen, gibt es in JavaScript das Schlüsselwort var. Diesem Schlüsselwort folgt der Name der Variablen. Nach einem Gleichheitszeichen kann der Variablen dann auch direkt ein Wert zugewiesen werden. In dem folgenden Beispiel wird einer Variablen eine Zeichenkette als Wert zugewiesen:

<script>
var versmass = "jambischer Sechsheber";
</script>

Bei der Namenswahl gibt es nach modernen JavaScript-Spezifikationen sehr wenig Einschränkungen was die erlaubten Zeichen angeht. Um aber eine sichere Ausführung in allen Browsern zu gewährleisten, lohnt es sich, nicht zu kreativ bei der Namenswahl zu sein. Es empfiehlt sich, ausschließlich Buchstaben (groß und klein), Ziffern und den Unterstrich zu verwenden, und der Variablenname darf nicht mit einer Ziffer beginnen. Das lässt genügend Spielraum, um aussagekräftige Namen zu wählen, welche den Programmcode gut lesbar und den Verwendungszweck der Variablen klar erkennbar machen.

Es ist nicht erforderlich, der Variablen gleich bei der Deklaration einen Wert zuzuweisen. Möchte man die Variable nur schonmal anlegen, sie aber erst später mit einem Wert belegen, so lässt man die Wertzuweisung im obigen Codebeispiel einfach weg und erhält:

<script>
var versmass;
</script>

Variablen verwenden

Die Deklaration einer Variablen dient immer der späteren Verwendung von ihr. In folgendem Beispiel wird zunächst eine Variable deklariert und mit einem Wert belegt und anschließend wird ihr Wert mithilfe der Funktion alert() ausgegeben.

<script>
var versmass = "jambischer Sechsheber";
alert(versmass);
</script>

Fragen wir Daten vom Benutzer mit der prompt()-Funktion ab, so können wir sie nach der Eingabe auch in einer Variablen speichern. Folgendes Codebeispiel demonstriert dies und durch die Ausgabe des Inhalts der angelegten Variablen lässt sich auch überprüfen, dass sie tatsächlich genau den eingegebenen Text enthält.

<script>
var benutzername;
benutzername = prompt("Wie heißt du?");
alert(benutzername);
</script>

Datentypen

Bei der Programmierung dreht sich alles um die Verarbeitung von Daten. Diese können von verschiedener Art sein, welche dann auch unterschiedlich behandelt werden müssen. Mit Zahlen können wir z.B. Berechnungen durchführen, die mit Zeichenketten (Text) keinen Sinn ergeben würden. JavaScript kennt sechs verschiedene sogenannte primitive Datentypen und dann noch den Datentyp object für komplexere Objekte. Die primitiven Datentypen sind number (für Zahlen), string (für Zeichenketten), boolean (für Wahrheitswerte), undefined (z.B. für undefinierte Variablen), null (für Ungültiges) und symbol (für Symbole). Die höchste Relevanz für uns hier haben die ersten drei dieser Typen.

Im Gegensatz zu anderen Programmiersprachen geht JavaScript sehr flexibel mit Datentypen um. Bei der Deklaration einer Variablen muss kein Datentyp für ihren Wert angegeben werden. Außerdem kann sie an einer Stelle einen Wert von einem gewissen Typ speichern und an einer anderen Stelle einen von einem anderen Typ. Der Datentyp wird also in JavaScript dynamisch behandelt. Möchte man den Datentyp des Inhalts einer Variablen herausfinden, so steht dafür der Operator typeof zur Verfügung. Betrachte dazu das folgende Codebeispiel:

<script>
var zahlOderText = 1;
alert(typeof zahlOderText);
zahlOderText = "1";
alert(typeof zahlOderText);
</script>

Werte vom Typ string können direkt erzeugt werden, indem bei der Wertzuweisung zur Variablen Anführungsstriche verwendet werden. Es gibt auch eine leere Zeichenkette: sie wird durch "" erzeugt. Mit dem Datentyp boolean werden wir hauptsächlich im Kapitel über Logik zu tun haben. JavaScript stellt uns auch Funktionen zur Verfügung, um Daten eines bestimmten Typs in einen anderen Typ umzuwandeln. Solche Funktionen findet man, wenn man in JavaScript-Referenzen die entsprechenden Datentypen nachschlägt.

Aufgabe

Finde mithilfe des bisher Gelernten heraus, von welchem Datentyp die Benutzereingabe in der prompt()-Funktion ist, wenn eine Zahl eingegeben wird.