1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
---
title: Anweisungen und Deklarationen
slug: Web/JavaScript/Reference/Statements
tags:
- JavaScript
- Reference
- statements
translation_of: Web/JavaScript/Reference/Statements
---
<div>{{jsSidebar("Statements")}}</div>
<p>JavaScript Anwendungen bestehen aus Anweisungen mit bestimmter Syntax. Eine Anweisung kann mehrere Zeilen umfassen und mehrere Anweisungen können in einer einzigen Zeile stehen, wenn sie mittels Semikolon voneinander getrennt sind.</p>
<h2 id="Anweisungen_und_Deklarationen_nach_Kategorie">Anweisungen und Deklarationen nach Kategorie</h2>
<p>Für eine alphabetische Auflistung, siehe Sidebar auf der linken Seite.</p>
<h3 id="Kontrollfluss">Kontrollfluss</h3>
<dl>
<dt>{{jsxref("Statements/block", "Block")}}</dt>
<dd>Anweisungsblöcke werden genutzt um ein oder mehrere Anweisungen zu gruppieren. Der Block wird von geschweiften Klammern umfasst.</dd>
<dt>{{jsxref("Statements/break", "break")}}</dt>
<dd>Beendet die aktuelle Schleifen-, Switch-, oder mit Label versehene Anweisung und das Programm wird hinter dieser fortgesetzt.</dd>
<dt>{{jsxref("Statements/continue", "continue")}}</dt>
<dd>Beendet den Durchlauf der aktuellen, bzw. der mittels Label angesprochenen Schleife und fährt mit dem nächsten Schleifendurchlauf fort.</dd>
<dt>{{jsxref("Statements/Empty", "Empty")}}</dt>
<dd>Man verwendet <em>empty </em>anstatt einer echten Anweisung, um keine Anweisung zu geben, an stellen an denen nach JavaScript-Syntax eine erwartet wird.</dd>
<dt>{{jsxref("Statements/if...else", "if...else")}}</dt>
<dd>Führt eine Anweisung aus wenn eine zuvor festgelegte Bedingung erfüllt (als <em>true</em> gewertet) wird. Ist die Bedingung <em>false,</em> kann eine andere Anweisung ausgeführt werden.</dd>
<dt>{{jsxref("Statements/switch", "switch")}}</dt>
<dd>Nach Auswertung eines Ausdrucks, wird anhand des Ergebnisses eine Fallunterscheidung durchgeführt und die entsprechende durch ein case-Label markierte Anweisung ausgeführt.</dd>
<dt>{{jsxref("Statements/throw", "throw")}}</dt>
<dd>Leitet das Auswerfen eines Fehlerausdrucks ein.</dd>
<dt>{{jsxref("Statements/try...catch", "try...catch")}}</dt>
<dd>Ein Anweisungsblock wird "ausprobiert" (try) und ein eventuell auftretender Fehler abgefangen (catch) und gegebenenfalls behandelt.</dd>
</dl>
<h3 id="Deklarationen">Deklarationen</h3>
<dl>
<dt>{{jsxref("Statements/var", "var")}}</dt>
<dd>Deklariert eine Variable und initialisiert sie optional mit einem Wert.</dd>
<dt>{{experimental_inline()}} {{jsxref("Statements/let", "let")}}</dt>
<dd>Deklariert eine Blocklokale variable und initialisiert sie optional mit einem Wert.</dd>
<dt>{{experimental_inline()}} {{jsxref("Statements/const", "const")}}</dt>
<dd>Deklariert eine Konstante auf welche nur lesend zugegriffen werden kann.</dd>
</dl>
<h3 id="Funktionen_und_Klassen">Funktionen und Klassen</h3>
<dl>
<dt>{{jsxref("Statements/function", "function")}}</dt>
<dd>Deklariert eine Funktion mit festgelegten Parametern.</dd>
<dt>{{experimental_inline()}} {{jsxref("Statements/function*", "function*")}}</dt>
<dd>Erzeugt Funktionen mit denen Schleifen leichter zu schreiben sind.</dd>
<dt>{{jsxref("Statements/async_function", "async function")}}</dt>
<dd>Deklariert eine asynchrone Funktion mit festgelegten Parametern.</dd>
<dt>{{jsxref("Statements/return", "return")}}</dt>
<dd>Legt den Rückgabewert einer Funktion fest.</dd>
<dt>{{jsxref("Statements/class", "class")}}</dt>
<dd>Deklariert eine Klasse.</dd>
</dl>
<h3 id="Schleifen">Schleifen</h3>
<dl>
<dt>{{jsxref("Statements/do...while", "do...while")}}</dt>
<dd>Eine Schleife die solange ausgeführt wird bis die Bedingung false ist. Die Bedingung wird erst am Ende eines Durchgangs überprüft.</dd>
<dt>{{jsxref("Statements/for", "for")}}</dt>
<dd>Erstellt eine von drei unerforderlichen, zwischen Parenthesen geklammerten, durch Semikola getrennten Ausdrücken geregelte Schleife, gefolgt von einem Anweisungsblock innerhalb der Schleife.</dd>
<dt>{{deprecated_inline()}} {{non-standard_inline()}} {{jsxref("Statements/for_each...in", "for_each...in")}}</dt>
<dd>Iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.</dd>
<dt>{{jsxref("Statements/for...in", "for...in")}}</dt>
<dd>Stellt die aufzählbaren Eigenschaften eines Objektes in einer unbestimmten Reihenfolge zur Verfügung. Jede Eigenschaft kann durch Anweisungen in der Schleife ausgewertet werden.</dd>
<dt>{{experimental_inline()}} {{jsxref("Statements/for...of", "for...of")}}</dt>
<dd>Durchläuft die Werte eines <a href="/de/docs/Web/JavaScript/Reference/Iteration_protocols">iterationsfähigen</a> Objektes, wie zum Beispiel eines <code><a href="/de/docs/Glossary/array">arrays</a></code>, eines Array-ähnlichen Objektes, oder eines <a href="/de/docs/Web/JavaScript/Guide/Iteratoren_und_Generatoren">Iterators oder Generators</a>. Für jeden Wert des Objektes können Anweisungen ausgewertet werden.</dd>
<dt> </dt>
<dt>{{jsxref("Statements/while", "while")}}</dt>
<dd>Erstellt eine Schleife, die solange durchlaufen wird, wie die Schleifenbedingung wahr ist. Die Schleifenbedingung wird am Anfang der Schleife (vor dem ersten Durchlauf des inneren Befehlsblocks) ausgewertet.</dd>
</dl>
<h3 id="Weiteres">Weiteres</h3>
<dl>
<dt>{{jsxref("Statements/debugger", "debugger")}}</dt>
<dd>Ruft irgendwelches verfügbare Fehlerentdeckungsvermögen auf. Steht keines zur Verfügung, hat dieser Befehl keine Wirkung.</dd>
<dt>{{experimental_inline()}} {{jsxref("Statements/export", "export")}}</dt>
<dd>Stellt eine Funktion zur Anwendung in anderen Modulen bereit. Dieser Ausdruck wird in dem Quellenmodul verwendet. Steht in Zusammenhang mit <code><a href="/de/docs/Web/JavaScript/Reference/Statements/import">import</a></code> auf der anderen Seite des Wechsels.</dd>
<dt>{{experimental_inline()}} {{jsxref("Statements/import", "import")}}</dt>
<dd>Importiert eine aus einem anderen Modul stammende Funktion, oder den gesamten Modul. Dieser Ausdruck wird in dem Entleihermodul verwendet, und arbeitet in Zusammenhang mit <code><a href="/de/docs/Web/JavaScript/Reference/Statements/export">export</a></code>.</dd>
<dt>{{jsxref("Statements/label", "label")}}</dt>
<dd>Hängt ein Etikett an eine Anweisung an. Auf dieses Etikett können <code><a href="/de/docs/Web/JavaScript/Reference/Statements/break">break</a></code> (aussteigen) oder <code><a href="/de/docs/Web/JavaScript/Reference/Statements/continue">continue</a></code> (fortsetzen) hinweisen, um den Kontrollfluss mit einer größeren Genauigkeit zu steuern.</dd>
</dl>
<dl>
<dt>{{deprecated_inline()}} {{jsxref("Statements/with", "with")}}</dt>
<dd>Extends the scope chain for a statement.</dd>
</dl>
<h2 id="Specifications">Specifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{SpecName('ES1', '#sec-12', 'Statements')}}</td>
<td>{{Spec2('ES1')}}</td>
<td>Initial Definition</td>
</tr>
<tr>
<td>{{SpecName('ES3', '#sec-12', 'Statements')}}</td>
<td>{{Spec2('ES3')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-12', 'Statements')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-ecmascript-language-statements-and-declarations', 'ECMAScript Language: Statements and Declarations')}}</td>
<td>{{Spec2('ES6')}}</td>
<td>Neu: function*, let, for...of, yield, class</td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-ecmascript-language-statements-and-declarations', 'ECMAScript Language: Statements and Declarations')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
<p>{{Compat("javascript.statements")}}</p>
<h2 id="See_also">See also</h2>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Operators">Operators</a></li>
</ul>
|