[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements#control_flow [Back]  [Original]

Anweisungen und Deklarationen - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

Anweisungen und Deklarationen

JavaScript-Anwendungen bestehen aus Anweisungen mit einer geeigneten Syntax. Eine einzelne Anweisung kann mehrere Zeilen umfassen. Mehrere Anweisungen knnen in einer einzigen Zeile vorkommen, wenn jede Anweisung durch ein Semikolon getrennt ist. Dies ist kein Schlsselwort, sondern eine Gruppe von Schlsselwrtern.

In diesem Artikel

Anweisungen und Deklarationen nach Kategorie

Fr eine alphabetische Auflistung siehe die Seitenleiste links.

Kontrollfluss

return

Gibt den Wert an, der von einer Funktion zurckgegeben werden soll.

break

Beendet die aktuelle Schleife, die Switch- oder Label-Anweisung und bertrgt die Programmkontrolle zur Anweisung nach der beendeten Anweisung.

continue

Beendet die Ausfhrung der Anweisungen in der aktuellen Iteration der aktuellen oder gelabelten Schleife und setzt die Ausfhrung der Schleife mit der nchsten Iteration fort.

throw

Wirft eine benutzerdefinierte Ausnahme.

if...else

Fhrt eine Anweisung aus, wenn eine angegebene Bedingung wahr ist. Wenn die Bedingung falsch ist, kann eine andere Anweisung ausgefhrt werden.

switch

Bewertet einen Ausdruck, der den Wert des Ausdrucks mit einer Fallklausel vergleicht und fhrt die mit diesem Fall verbundenen Anweisungen aus.

try...catch

Markiert einen Block von Anweisungen zum Ausprobieren und gibt eine Antwort an, falls eine Ausnahme geworfen wird.

Variablen deklarieren

var

Deklariert eine Variable und initialisiert sie optional mit einem Wert.

let

Deklariert eine lokale Variable mit Blockscope und initialisiert sie optional mit einem Wert.

const

Deklariert eine schreibgeschtzte benannte Konstante.

using

Deklariert lokale Variablen, die synchron entsorgt werden.

await using

Deklariert lokale Variablen, die asynchron entsorgt werden.

Funktionen und Klassen

function

Deklariert eine Funktion mit den angegebenen Parametern.

function*

Generatorfunktionen ermglichen das leichteren Schreiben von Iteratoren.

async function

Deklariert eine asynchrone Funktion mit den angegebenen Parametern.

async function*

Asynchrone Generatorfunktionen erleichtern das Schreiben von asynchronen Iteratoren.

class

Deklariert eine Klasse.

Iterationen

do...while

Erstellt eine Schleife, die eine bestimmte Anweisung so lange ausfhrt, bis die Testbedingung zu falsch evaluiert wird. Die Bedingung wird nach der Ausfhrung der Anweisung ausgewertet, wodurch die angegebene Anweisung mindestens einmal ausgefhrt wird.

for

Erstellt eine Schleife, die aus drei optionalen Ausdrcken besteht, welche in Klammern eingeschlossen und durch Semikolons getrennt sind, gefolgt von einer in der Schleife ausgefhrten Anweisung.

for...in

Iteriert ber die aufzhlbaren Eigenschaften eines Objekts in beliebiger Reihenfolge. Fr jede unterschiedliche Eigenschaft knnen Anweisungen ausgefhrt werden.

for...of

Iteriert ber iterierbare Objekte (einschlielich Arrays, array-hnlichen Objekte, Iteratoren und Generatoren) und ruft einen benutzerdefinierten Iterationshaken mit Anweisungen auf, die fr den Wert jeder einzelnen Eigenschaft ausgefhrt werden sollen.

for await...of

Iteriert ber asynchrone iterierbare Objekte, array-hnliche Objekte, Iteratoren und Generatoren und ruft einen benutzerdefinierten Iterationshaken mit Anweisungen auf, die fr den Wert jeder einzelnen Eigenschaft ausgefhrt werden sollen.

while

Erstellt eine Schleife, die eine bestimmte Anweisung ausfhrt, solange die Testbedingung zu wahr evaluiert wird. Die Bedingung wird vor der Ausfhrung der Anweisung bewertet.

Andere

Leer

Eine leere Anweisung wird verwendet, um keine Anweisung bereitzustellen, obwohl die JavaScript-Syntax eine erwarten wrde.

Block

Eine Blockanweisung wird verwendet, um null oder mehr Anweisungen zu gruppieren. Der Block wird durch ein Paar geschweifte Klammern abgegrenzt.

Ausdrucksanweisung

Eine Ausdrucksanweisung wertet einen Ausdruck aus und verwirft dessen Ergebnis. Sie ermglicht es dem Ausdruck, Nebeneffekte wie die Ausfhrung einer Funktion oder das Aktualisieren einer Variablen zu erzeugen.

debugger

Ruft alle verfgbaren Debugging-Funktionen auf. Wenn keine Debugging-Funktionalitt verfgbar ist, hat diese Anweisung keine Auswirkungen.

export

Wird verwendet, um Funktionen zu exportieren, um sie in externen Modulen und anderen Skripten verfgbar zu machen.

import

Wird verwendet, um Funktionen zu importieren, die aus einem externen Modul oder einem anderen Skript exportiert wurden.

Label

Bietet einer Anweisung eine Kennung, auf die Sie mit einer break- oder continue-Anweisung verweisen knnen.

with

Erweitert die Scope-Kette fr eine Anweisung.

Unterschied zwischen Anweisungen und Deklarationen

In diesem Abschnitt mischen wir zwei Arten von Konstrukten: Anweisungen und Deklarationen. Sie sind zwei disjunkte Mengen von Grammatiken. Die folgenden sind Deklarationen:

Alles andere in der obigen Liste ist eine Anweisung.

Die Begriffe "Anweisung" und "Deklaration" haben eine przise Bedeutung in der formalen Syntax von JavaScript, die beeinflusst, wo sie im Code platziert werden drfen. Zum Beispiel akzeptieren in den meisten Kontrollflussstrukturen die Krper nur Anweisungen wie die zwei Arme eines if...else:

js
if (condition)
  statement1;
else
  statement2;

Wenn Sie eine Deklaration anstelle einer Anweisung verwenden, wre es ein SyntaxError. Zum Beispiel ist eine let-Deklaration keine Anweisung, daher knnen Sie sie nicht in ihrer nackten Form als Krper einer if-Anweisung verwenden.

js
if (condition)
  let i = 0; // SyntaxError: Lexical declaration cannot appear in a single-statement context

Andererseits ist var eine Anweisung, daher knnen Sie sie alleinstehend als if-Krper verwenden.

js
if (condition)
  var i = 0;

Sie knnen Deklarationen als "Bindungen von Bezeichnern an Werte" und Anweisungen als "Durchfhrung von Aktionen" ansehen. Die Tatsache, dass var eine Anweisung und keine Deklaration ist, ist ein Sonderfall, da sie nicht den normalen lexikalischen Umgebungsregeln folgt und Nebenwirkungen erzeugen kann in Form von globalen Variablen, Mutationen bestehender var-definierten Variablen und Definitionen von Variablen, die auerhalb ihres Blocks sichtbar sind (da var-definierte Variablen nicht block-beschrnkt sind).

Ein weiteres Beispiel: Labels knnen nur an Anweisungen angehngt werden.

js
label: const a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context

Hinweis: Es gibt eine veraltete Grammatik, die Funktionsdeklarationen Labels erlaubt, aber sie ist nur zur Kompatibilitt mit der Web-Realitt standardisiert.

Um dies zu umgehen, knnen Sie die Deklaration in geschweifte Klammern einschlieen dies macht sie zu einem Teil einer Blockanweisung.

js
label: {
  const a = 1;
}

if (condition) {
  let i = 0;
}

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page