JS→React
Variablen und Konstanten

Variablen und Konstanten

Mit ES2015 wurden in JavaScript Konstanten eingeführt. Einer Konstanten muss bei ihrer Deklaration ein Wert zugewiesen werden, der nicht mehr verändert werden kann. Sonst führt dies zu einem Laufzeitfehler:

// Konstanten müssen initialisiert werden
const sum = 100 * 8;
// Konstanten sind unveränderlich
sum = 123; // --> Fehler!
// Konstanten benötigen einen Wert
const error; // --> Fehler!

Ursprünglich gab es nur ein Konzept für lokale Variablen in JavaScript. Lokale Variablen konnten vor Version ES2015 nur mit var deklariert werden. Allerdings bezieht sich der Sichtbarkeitsbereich (Scope) einer mit var deklarierten Variablen auf die Funktion (Function Scope) und nicht auf den umgebenden Block (Block Scope). Diese Semantik unterscheidet sich von dem Konzept der lokalen Variablen in vielen anderen Programmiersprachen. Dort haben lokale Variablen in der Regel eine Gültigkeit in Bezug auf den umgebenden Block (Block Scope). Dieser Unter- schied hat bei vielen Programmierern bestimmt gelegentlich zu Verwirrung geführt. Mit let gibt es nun in ES2015 die Möglichkeit, Variablen mit Block Scope zu definieren. Auch für Konstanten gilt der Block Scope:

function exampleForScope() {
  if (true) {
    var x = 1;
    let y = 2;
    y = 3; // let deklariert Variablen, mehrfache Zuweisung möglich
    let y = 3; // --> Fehler! (keine Mehrfachdeklaration bei let)
    const z = 3;
    z = 4; // --> Fehler! (Konstanten dürfen nicht geändert werden)
    console.log(x); // Ausgabe: 1
    console.log(y); // Ausgabe: 2
    console.log(z); // Ausgabe: 3
  }
  // x hat Function Scope
  console.log(x); // Ausgabe: 1
  // y und z haben Block Scope und sind nicht mehr sichtbar
  console.log(y); // --> Fehler!
  console.log(z); // --> Fehler!
}

Ich bin ein Quiz ohne Frage/Antwort!