BESTE WEBSITE FÜR WEBENTWICKLER

Basic JavaScript

JS Tutorial JS Syntax JS Variables JS Operators JS If Conditions JS Loops JS Strings JS Numbers JS Functions JS Objects JS Dates JS Arrays JS Sets JS Maps JS Math JS RegExp JS Data Types JS Errors JS Debugging JS Events JS Programming JS References JS UTF-8 Characters

JS Advanced

JS Versions JS Functions JS Objects JS Classes JS Iterations JS Promises JS Modules JS HTML DOM JS Windows JS Web API JS AJAX JS JSON JS jQuery JS Graphics JS Examples JS Objects

JavaScript. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es Fr Ru

JavaScript Let-Schlüsselwort

Das Schlüsselwort let wurde in ES6 (2015) eingeführt.

Mit let definierte Variablen können nicht erneut deklariert werden.

Mit let definierte Variablen müssen vor der Verwendung deklariert werden.

Variablen, die mit let definiert wurden, haben einen Blockbereich.

Kann nicht erneut deklariert werden

Variablen, die mit let definiert wurden, können nicht neu deklariert werden.

Sie können eine Variable nicht versehentlich neu deklarieren.

Mit let können Sie Folgendes nicht tun:

Beispiel

let x = "John Doe";

let x = 0;

// SyntaxError: 'x' has already been declared

Mit var können Sie:

Beispiel

var x = "John Doe";

var x = 0;

Blockbereich

Vor ES6 (2015) hatte JavaScript nur Global Scope und Function Scope.

ES6 führte zwei wichtige neue JavaScript-Schlüsselwörter ein: let und const.

Diese beiden Schlüsselwörter stellen den Blockbereich in JavaScript bereit.

Variablen, die innerhalb eines { }-Blocks deklariert wurden, können nicht von außerhalb des Blocks aufgerufen werden:

Beispiel

{
  let x = 2;
}
// x kann hier NICHT verwendet werden

Variablen, die mit dem Schlüsselwort var deklariert wurden, dürfen KEINEN Blockbereich haben.

Auf Variablen, die innerhalb eines { }-Blocks deklariert sind, kann von außerhalb des Blocks zugegriffen werden.

Beispiel

{
  var x = 2;
}
// x KANN hier verwendet werden

Variablen neu deklarieren

Das Neudeklarieren einer Variablen mit dem Schlüsselwort var kann zu Problemen führen.

Durch die Neudeklaration einer Variablen innerhalb eines Blocks wird auch die Variable außerhalb des Blocks neu deklariert:

Beispiel

var x = 10;
// Hier ist x 10

{
var x = 2;
// Hier ist x 2
}

// Hier ist x 2
Try it Yourself »

Das Neudeklarieren einer Variablen mit dem Schlüsselwort let kann dieses Problem lösen.

Durch die Neudeklaration einer Variablen innerhalb eines Blocks wird die Variable außerhalb des Blocks nicht neu deklariert:

Beispiel

let x = 10;
// Hier ist x 10

{
let x = 2;
// Hier ist x 2
}

// Hier ist x 10
Try it Yourself »

Browser-Unterstützung

Das Schlüsselwort let wird in Internet Explorer 11 oder früher nicht vollständig unterstützt.

Die folgende Tabelle definiert die ersten Browserversionen mit vollständiger Unterstützung für das Schlüsselwort let:

Chrome 49 Edge 12 Firefox 44 Safari 11 Opera 36
Mar, 2016 Jul, 2015 Jan, 2015 Sep, 2017 Mar, 2016

Neudeklaration

Das erneute Deklarieren einer JavaScript-Variablen mit var ist überall in einem Programm zulässig:

Beispiel

var x = 2;
// Jetzt ist x 2

var x = 3;
// Jetzt ist x 3
Try it Yourself »

Mit let ist die erneute Deklaration einer Variablen im selben Block NICHT zulässig:

Beispiel

var x = 2;    // Erlaubt
let x = 3;    // Nicht erlaubt

{
let x = 2;    // Erlaubt
let x = 3     // Nicht erlaubt
}

{
let x = 2;    // Erlaubt
var x = 3     // Nicht erlaubt
}

Das erneute Deklarieren einer Variablen mit let in einem anderen Block ist zulässig:

Beispiel

let x = 2;    // Erlaubt

{
let x = 3;    // Erlaubt
}

{
let x = 4;    // Erlaubt
}
Try it Yourself »

Heben lassen

Mit var definierte Variablen werden nach oben angehoben und können jederzeit initialisiert werden.

Bedeutung: Sie können die Variable verwenden, bevor sie deklariert wird:

Beispiel

Das ist in Ordnung:

carName = "Volvo";
var carName;
Try it Yourself »

Wenn Sie mehr über das Heben erfahren möchten, lesen Sie das Kapitel JavaScript Hoisting.

Variablen, die mit let definiert wurden, werden ebenfalls an die Spitze des Blocks gehoben, aber nicht initialisiert.

Bedeutung: Die Verwendung einer let-Variable vor ihrer Deklaration führt zu einem ReferenceError:

Beispiel

carName = "Saab";
let carName = "Volvo";
Try it Yourself »


Kommentare