Variablen
Variablen nehmen Werte auf, mitdenen dann gearbeitet werden kann. Sie werden im Arbeitsspeicher gespeichert. Variablen können sich im Laufe des Programms ändern. Häufig haben sie Zahlen als Werte, sie können auch strings (Text) oder Wahrheitswerte (boolean) besitzen. Der Variablen-Typ ist bei den meisten Programmiersprachen fest und unveränderbar. JS ist da jedoch etwas flexibler.
Eine Variable muss erst einmal deklariert werden. Das geht mit dem Befehl let oder var, danach steht der Name der Variable. Das kann jedes Wort sein, es darf nur kein Schlüsselwort von JS sein. Es gehen Buchstaben, Zahlen, der Unterstrich und das Dollarzeichen. Nur am Anfang der Variable darf keine Zahl stehen. Es wird zwischen Groß- und Kleinschreibung unterschieden. Nach dem Namen steht ein Semikolon.
Nun braucht die Variable noch einen Inhalt. Das wird Initialisierung genannt. Zuerst kommt der Variablenname, dann ein Gleichheitszeichen und schließlich der Wert. Wenn der Wert ein string ist müssen sie in Anführungszeichen gesetzt werden
Um die Variable wieder auszulesen muss man einfach ihren Namen nennen. Wenn man den Namen zum Beispiel in einem alert-Befehl einfügt, gibt er den Wert der Variable aus. Der Name darf nicht in Anführungszeichen stehen, sonst wird er für ein string gehalten.
let und var
Variablen die innerhalb von if-Abfragen oder Schleifen erstellt werden gelten nur dort.
Diesen Grundsatz befolg der let-Befehl, der var-Befehl jedoch nicht. Diese Variablen sind auch außerhalb verwendbar.
Daher sollte man auf var-Variablen besser verzichten.
Auch bei Funktionen verhält sich var ungewöhnlich. Der Interpreter ließt die Funktion und realisiert dann alle var-Variablen.
Erst danach beginnt er den Code der Funktion auszuführen. So kann eine var-Variable benutzt werden, bevor sie deklariert ist.
Zusammenfassend könnte man sagen, let hält sich an die Regeln, während var ein Rebell ist.
Konstante Variablen
Der Wert von Variablen ist veränderbar, aber es gibt auch Variablen dessen Wert sich nicht ändert. Zum Beispiel der Geburtstag bestimmter Personen, oder feste Werte in der Mathematik. Diese Variablen werden nicht mit let deklariert, sondern mit const. Dies hat zum Vorteil, das der Code leichter nachvollziebar ist, sich der Wert nicht aus versehen ändert und es kann sogar die Performance des Programmes verbessern. Ein Beispiel wofür eine solche Variable verwendet wird, wäre das Abspeichern eines Farbwertes im Hexadezimalcode. Nachfolgernd muss nicht mehr der Farbcode eingetippt werden, sondern nur noch der Variablenname.
Datentyp ermitteln mit typeof
Mit dem Befehl typeof lässt sich der Variablentyp anzeigen. Im Code steht typeof direckt vor dem Variablennamen, wenn man diesen ausgeben will. Dazu eignet sich ein weiterer Befehl herforragend: document.write Damit lässt sich ein Inhalt direkt in die Webseite hinein schreiben. Auch HTML-Tags können eingebunden werden, sie müssen dafür wie strings behandelt werden.
"use strict";
let ganzeZahl = 3;
let kommaZahl = 2.34;
let buchstabe = "A";
let text = "Hallo Besucher";
let wahrheitswert = true;
let nichts
document.write ("Ganze Zahl: " + typeof ganzeZahl + "<br>")
document.write ("Kommazahl: " + typeof kommaZahl + "<br>")
document.write ("Buchstabe: " + typeof buchstabe + "<br>")
document.write ("Text: " + typeof text + "<br>")
document.write ("Wahrheitswert: " + typeof wahrheitswert + "<br>")
document.write ("Nichts: " + typeof nichts + "<br>")
</script>
Sowohl Ganze, als auch Kommazahlen werden gleich behandelt und als number gesehen. Das gleiche gilt auch für den einzelnen Buchstaben und dem Text, die als string erkannt werden. Der Wahrheitswert ist ein boolean, er kann true oder false als Wert haben. Hat eine Variable keinen Wert ist sie undefined. Es gibt noch weitere Typen, hier eine Übersicht:
Datentypen | Objekttypen | Kein Inhalt |
---|---|---|
string number boolean object function |
Object Date Array String Number Boolean |
null undefined |
Manschmal muss der Datentyp einer Variable genau bestimmt oder geändert werden. Zum Beispiel wenn mit prompt eine Zahl abgefragt wird, ist diese erst einmal ein string. Um mit ihr zu rechnen muss die Variable eine number sein. Um den Typ zu ändern muss der gewünschte Typ genannt werden und die Variable in Klammern danach. Der Anfangsbuchstabe des Datentyps muss als Großbuchstabe geschrieben werden.
eingabe = Number(eingabe);
Wenn der Anwender keine Zahl eingibt wird der Wert der Variable NaN was Not a Number heißt.
Operationen
Der wichtigste Operator ist = der Zuweisungsoperator. Links steht die Variable, rechts der Wert und dazwischen das Gleichheitszeichen. So bekommt die Variable ihren Wert. Um mit Variablen rechnen zu können werden weitere Operationen gebraucht. Es sind die Zeichen Plus, Minus, Sternsymbol oder Schrägstrich und mehr. In vielen Fällen nimmt eine Variable auf sich selbst Bezug, zum Beispiel wenn der Wert verdoppelt werden soll.
Zahl = Zahl +5;
Da soetwas sehr häufig vor kommt, gibt es eine kürzere Schreibweise
Zahl += 5;
Besonders häufig kommt es vor, dass eine Variable um 1 erhöht oder erniedrigt wird. Dafür gibt es eine noch kürzere Schreibweise
Zahl --;
+ | Addition |
- | Subtraktion |
/ | Division |
* | Multiplikation |
** | Potenz |
% | Modulo |
+= | Erhöhung um den angegebenen Wert |
-= | Erniedrigung um den angegebenen Wert |
*= | Variable wird mit dem angegebenen Wert multipliziert |
/= | Variable wird durch den angegebenen Wert geteilt |
++ | Erhöhung um 1 (inkrementieren) |
-- | Erniedrigung um 1 (dekrementieren) |
Übungsaufgabe
Frag den Anwender mit prompt zwei Zahlen ab, wandle sie in Typ number um und multipliziere sie. Das Ergebnis soll mit document.write ausgegeben werden.
Hier geht es zur Lösung