Variablen in JavaScript
Vorteile von »let«
- Im strengen Modus können Variablen nicht einfach durch eine Zuweisung an einen einfachen Namen angelegt werden. Wenn der strenge Modus verwendet und Variablen grundsätzlich mit »let« definiert werden, kann es nicht geschehen, daß durch eine Zuweisung an einen einfachen Namen versehentlich eine Variable angelegt wird (etwa durch einen Tippfehler).
Erklärung von »let«
Wenn ein Name statt mit »const« mit »let« deklariert wird, so wird dadurch eine Variable statt einer Konstanten deklariert.
Für Variablen gilt alles für Konstanten Gesagte mit der Ausnahme, daß
- bei der Deklaration »let« an Stelle von »const« geschrieben wird,
- der Initialisierung auch weggelassen werden kann und
- die Werte von Variablen auch durch Zuweisungen verändert werden dürfen.
- Deklaration einer Variablen »a« mit Initialisierung
let a = 2;
undefined
- Zuweisung an die zuvor deklarierte Variable »a«
a = a + 4;
6
- Deklaration einer Variablen »b« ohne Initialisierung
let b;
undefined
- Auswertung der zuvor deklarierten Variablen »b«
b
undefined
- Zuweisung an die zuvor deklarierte Variable »b«
b = a + 4;
10
- Zuweisung an die zuvor deklarierte Variable »a«
a = a + b;
16
Lexikalische Deklarationen
Eine Deklaration mit »const« oder »let« nennt man eine lexikalische Deklaration. Auch außerhalb des strengen Modus darf »let« in einer lexikalischen Deklaration nicht als Name verwendet werden.
- Wörter, die nicht als Namen bei lexikalischen Deklarationen verwendet werden dürfen
- let
Stilregeln
ℛ Stilregel Da sich der Wert einer Variablen verändern kann, sind Variablen in Skripten schwerer zu verstehen als Konstanten. Deswegen sollten Konstanten bevorzugt eingesetzt werden. Variablen sollten nur verwendet werden, wenn die Veränderlichkeit wirklich benötigt wird.
Erkennung von Tippfehlern mit »"use strict";«
- Protokoll
"use strict"; let Kommunalobligation = 5; Komunalobligation = 6;
ReferenceError: assignment to undeclared variable Komunalobligation
Übungsfragen
? Erhöhen
Durch welche Sequenz kann der Wert einer Variablen »i«, die eine ganze Zahl enhält, um 1 erhöht werden?
(Eine Sequenz ist eine Folge von Kommandos. Ein Kommando ist eine Deklaration oder eine Anweisung.)
? Vertauschen
Durch welche Sequenz kann der Wert einer Variablen »i« mit dem Wert einer Variablen »j« vertauscht werden?
(Eine Sequenz ist eine Folge von Kommandos. Ein Kommando ist eine Deklaration oder eine Anweisung.)