Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

block

Eine Block-Anweisung (oder in anderen Sprachen Verbundanweisung) wird genutzt, um 0 oder mehrere Anweisungen zu gruppieren. Ein Block wird durch ein Paar geschweifte Klammern abgegrenzt.

Syntax

{ anweisung1; anweisung2; ... anweisungN; }
anweisung1, anweisung2, anweisungN
Anweisungen, die zu einer Block-Anweisung gruppiert werden.

Beschreibung

Eine Block-Anweisung wird meistens in Verbindung mit Komtrollfluss-Anweisungen (z. B. if...else, for, while) genutzt. Zum Beispiel:

while (x < 10) {
  x++;
}

Zu beachten ist, dass eine Block-Anweisung nicht mit einem Semikolon endet.

In anderen Sprachen wird eine Block-Anweisung auch oftmals Verbundanweisung genannt. Dieser erlaubt den Einsatz mehrerer Anweisungen an Stellen, an denen JavaScript nur eine Anweisung erwartet. Das Kombinieren von Anweisungen in Blöcken ist in Javascript gängige Praxis. Mit einer empty-Anweisung ist auch der gegenteilige Fall umsetzbar (keine Anweisung an stellten, an denen Anweisung erwartet wird).

Variablen in Blockgültigkeitsbereichen

Wichtig: Variablen, die mit var deklariert werden, haben keinen Blockgültigkeitsbereich. Sie sind an dem Gültigkeitsbereich der umschließenden Funktion oder des Skripts gebunden. Das bedeutet, dass diese Variablen auch außerhalb des Blocks verfügbar sind. Aus diesem Grund ist es nicht ratsam Blöcke zu benutzen, um var-Variablen zu deklarieren, die schon außerhalb des Blocks definiert wurden. Zum Beispiel:

var x = 1;
{
  var x = 2;
}
console.log(x); // logs 2

Die Ausgabe zeigt 2, weil die Anweisung var x außerhalb des Blocks und innerhalb des Blocks den gleichen Gültigkeitsbereich haben. In anderen Sprachen würde dieser Code 1 ausgeben.

Wenn ein Blockscope gewünscht ist, muss let eingesetzt werden.

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 2017 Draft (ECMA-262)
Die Definition von 'Block statement' in dieser Spezifikation.
Entwurf  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Block statement' in dieser Spezifikation.
Standard  
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Block statement' in dieser Spezifikation.
Standard  
ECMAScript 3rd Edition (ECMA-262)
Die Definition von 'Block statement' in dieser Spezifikation.
Standard  
ECMAScript 1st Edition (ECMA-262)
Die Definition von 'Block statement' in dieser Spezifikation.
Standard Initiale Definition. Implementiert in JavaScript 1.0.

Browserkompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Ja) (Ja) (Ja) (Ja) (Ja)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,