Eine Variable ist ein benannter Platz, an dem ein Wert liegt, solange das Programm läuft. Der Name bleibt, der Wert darf wechseln.
- Variable
Ein benannter Platz, an dem ein Wert liegt, solange das Programm läuft.
Beispiel: „Der Preis wird einmal berechnet und in einer Variablen abgelegt, damit er nicht bei jeder Anzeige neu entsteht.“Herkunft: von lateinisch variabilis, veränderlich. Der Name stammt aus der Mathematik, meint im Programm aber etwas anderes: dort steht die Variable für einen unbekannten Wert, hier für einen Platz, dessen Inhalt wechseln darf.
Abgrenzung zur Konstanten: Eine Konstante bekommt ihren Wert einmal und behält ihn. In JavaScript ist das der Normalfall; wer nichts anderes sagt, schreibt besser eine.
Name, Wert und die Zeit dazwischen
Eine Variable hat einen Namen, unter dem der Code sie anspricht, und einen Wert, der dahinterliegt. Der Name bleibt über die Laufzeit gleich, der Wert darf sich ändern. Genau das macht sie nützlich: Eine Stelle im Code arbeitet mit dem Namen, ohne wissen zu müssen, was gerade darin steht.
Der Name ist dabei kein Beiwerk. Er ist die einzige Erklärung, die eine Stelle im Code mitbringt, und sollte deshalb sagen, worum es geht.
let warenkorbSumme = 0; // Wert darf wechseln
const mehrwertsteuer = 0.19; // Wert steht fest
warenkorbSumme = warenkorbSumme + artikelPreis;
const brutto = warenkorbSumme * (1 + mehrwertsteuer);Wo eine Variable gilt
Jede Variable hat einen Bereich, in dem sie bekannt ist. Wird sie innerhalb einer Funktion angelegt, kennt sie niemand außerhalb. Das klingt nach Einschränkung und ist eine Entlastung: Zwei Teile eines Programms können denselben Namen benutzen, ohne sich ins Gehege zu kommen.
Aus dieser Abgrenzung entsteht eine der eigenwilligeren Erscheinungen der Sprache, die Closure: Eine Funktion behält Zugriff auf die Umgebung, in der sie entstanden ist, auch wenn diese längst verlassen wurde.
Was in einer Variablen liegen kann
Der Datentyp entscheidet darüber. In JavaScript legt sich eine Variable nicht auf einen fest: Dieselbe kann erst eine Zahl halten und später einen Text. In anderen Sprachen ist das verboten, und der Rechner meldet den Versuch als Fehler.
Beide Wege haben ihren Preis. Die freie Variante schreibt sich schneller, die festgelegte fängt Fehler ab, bevor das Programm überhaupt läuft. TypeScript legt diese Festlegung nachträglich über JavaScript.