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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
---
title: Ausdrücke und Operatoren
slug: Web/JavaScript/Reference/Operators
tags:
- JavaScript
- Operators
translation_of: Web/JavaScript/Reference/Operators
---
<div>{{jsSidebar("Operators")}}</div>
<p>Dieses Kapitel behandelt alle JavaScript Sprachoperatoren, Ausdrücke und Schlüsselwörter.</p>
<h2 id="Ausdrücke_und_Operatoren_geordnet_nach_Kategorie">Ausdrücke und Operatoren geordnet nach Kategorie</h2>
<p>Die alphabetische Sortierung finden Sie in der linken Seitenspalte.</p>
<h3 id="Grundlegende_Ausdrücke">Grundlegende Ausdrücke</h3>
<p>Elementare Schlüsselwörter und allgemeine Ausdrücke in JavaScript.</p>
<dl>
<dt>{{jsxref("Operators/this", "this")}}</dt>
<dd>Das <code>this</code> Schlüsselwort referenziert eine spezielle Eigenschaft des Ausführungskontexts.</dd>
<dt>{{jsxref("Operators/function", "function")}}</dt>
<dd>Der <code>function</code> Schlüsselbegriff definiert einen Funktionsausdruck.</dd>
<dt>{{jsxref("Operators/class", "class")}}</dt>
<dd>Das <code>class</code> Schlüsselwort definiert einen Klassenausdruck.</dd>
<dt>{{jsxref("Operators/function*", "function*")}}</dt>
<dd>Das <code>function*</code> Schlüsselword definiert einen Generatorfunktionsausdruck.</dd>
<dt>{{jsxref("Operators/yield", "yield")}}</dt>
<dd>Eine Generatorfunktion anhalten und fortsetzen.</dd>
<dt>{{jsxref("Operators/yield*", "yield*")}}</dt>
<dd>Delegiert zu einer anderen Generatorfunktion oder Iterable Objekt.</dd>
<dt>{{experimental_inline}} {{jsxref("Operators/async_function", "async function*")}}</dt>
<dd><code>async function</code> definiert einen asynchron Funktionsausdruck.</dd>
<dt>{{experimental_inline}} {{jsxref("Operators/await", "await")}}</dt>
<dd>Hält eine asynchrone Funktion an und setzt sie fort und wartet dabei auf ein erfolgreichen oder nicht erfolgreichen Promise.</dd>
<dt>{{jsxref("Global_Objects/Array", "[]")}}</dt>
<dd>Array-Initialisierungs/Literal-Syntax.</dd>
<dt>{{jsxref("Operators/Object_initializer", "{}")}}</dt>
<dd>Objekt-Initialisierungs/Literal-Syntax.</dd>
<dt>{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}</dt>
<dd>Literal-Syntax für reguläre Ausdrücke.</dd>
<dt>{{jsxref("Operators/Grouping", "( )")}}</dt>
<dd>Gruppierungs-Operator.</dd>
</dl>
<h3 id="Linke-Seite-Ausdrücke">Linke-Seite-Ausdrücke</h3>
<p>Werte auf der linken Seite sind das Ziel einer Zuweisung.</p>
<dl>
<dt>{{jsxref("Operators/Property_accessors", "Eigenschaftszugriff", "", 1)}}</dt>
<dd>Member-Operatoren ermöglichen den Zugriff auf eine Objektvariable oder eine Methode eines Objekts (<code>object.property</code> und <code>object["property"]</code>).</dd>
<dt>{{jsxref("Operators/new", "new")}}</dt>
<dd>Der <code>new</code> Operator erzeugt eine Instanz über einen Konstruktor.</dd>
<dt><a href="/de/docs/Web/JavaScript/Reference/Operators/new.target">new.target</a></dt>
<dd>In Konstruktoren referenziert <code>new.target</code> auf den Konstruktor, welcher mit {{jsxref("Operators/new", "new")}} aufgerufen wurde.</dd>
<dt>{{jsxref("Operators/super", "super")}}</dt>
<dd>Das <code>super</code> Schlüsselwort ruft den Elternkonstruktor auf.</dd>
<dt>{{jsxref("Operators/Spread_operator", "...obj")}}</dt>
<dd>Der Spread-Operator ermöglicht es einem Ausdruck in Situationen erweitert zu werden, wo mehrfache Argumente (für Funktionsaufrufe) oder mehrfache Elemente (für Array-Literale) erwartet werden.</dd>
</dl>
<h3 id="Inkrement_und_Dekrement">Inkrement und Dekrement</h3>
<p>Postfix/Prefix-Inkrement- und Postfix/Prefix-Dekrement-Operatoren.</p>
<dl>
<dt>{{jsxref("Operators/Arithmetic_Operators", "A++", "#Increment")}}</dt>
<dd>Postfix-Inkrementoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "A--", "#Decrement")}}</dt>
<dd>Postfix-Dekrementoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "++A", "#Increment")}}</dt>
<dd>Prefix-Inkrementoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "--A", "#Decrement")}}</dt>
<dd>Prefix-Dekrementoperator.</dd>
</dl>
<h3 id="Unäre_Operatoren">Unäre Operatoren</h3>
<p>Ein unärer Operation ist ein Operation mit nur einem Operanden.</p>
<dl>
<dt>{{jsxref("Operators/delete", "delete")}}</dt>
<dd>Der <code>delete</code>-Operator entfernt eine Eigenschaft eines Objektes.</dd>
<dt>{{jsxref("Operators/void", "void")}}</dt>
<dd>Der <code>void</code>-Operator verwirft den Rückgabewert eines Ausdrucks.</dd>
<dt>{{jsxref("Operators/typeof", "typeof")}}</dt>
<dd>Der <code>typeof</code>-Operator ermittelt den Typ des angegebenen Objekts.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "+", "#Unary_plus")}}</dt>
<dd>Der unäre Plusoperator wandelt seinen Operand in einen Zahlentyp um.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "-", "#Unary_negation")}}</dt>
<dd>Der unäre Negationsoperator wandelt seinen Operand in einen Zahlentyp um und negiert ihn.</dd>
<dt>{{jsxref("Operators/Bitwise_Operators", "~", "#Bitwise_NOT")}}</dt>
<dd>Bitweiser NICHT-Operator.</dd>
<dt>{{jsxref("Operators/Logical_Operators", "!", "#Logical_NOT")}}</dt>
<dd>Logischer NICHT-Operator.</dd>
</dl>
<h3 id="Arithmetische_Operatoren">Arithmetische Operatoren</h3>
<p>Arithmetische Operatoren nehmen numerische Werte (entweder Literale oder Variablen) als ihre Operanden und geben genau einen numerischen Wert zurück.</p>
<dl>
<dt>{{jsxref("Operators/Arithmetic_Operators", "+", "#Addition")}}</dt>
<dd>Additionsoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "-", "#Subtraction")}}</dt>
<dd>Subtraktionsoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "/", "#Division")}}</dt>
<dd>Divisionsoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "*", "#Multiplication")}}</dt>
<dd>Multiplikationsoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "%", "#Remainder")}}</dt>
<dd>Restoperator.</dd>
<dt>{{jsxref("Operators/Arithmetic_Operators", "**", "#Exponentiation")}}</dt>
<dd>Potenzierungsoperator.</dd>
</dl>
<h3 id="Vergleichsoperatoren">Vergleichsoperatoren</h3>
<p>Ein Vergleichsoperator vergleicht seine Operanden und gibt einen <code>Booleschen</code> Wert zurück, basierend dem Ergebnis des Vergleiches.</p>
<dl>
<dt>{{jsxref("Operators/in", "in")}}</dt>
<dd>Der <code>in</code>-Operator ermittelt ob ein Objekt die gegebene Objektvariable enthält.</dd>
<dt>{{jsxref("Operators/instanceof", "instanceof")}}</dt>
<dd>Der <code>instanceof-</code>Operator ermittelt ob ein Objekt eine Instanz eines anderen Objekts ist.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", "<", "#Less_than_operator")}}</dt>
<dd>Kleiner-als-Operator.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", ">", "#Greater_than_operator")}}</dt>
<dd>Größer-als-Operator.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}</dt>
<dd>"Kleiner als oder gleich" - Operator.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}</dt>
<dd>"Größer als oder gleich" - Operator.</dd>
</dl>
<div class="note">
<p><strong>Hinweis: =></strong> is kein Operator, aber die Notation für <a href="/de/docs/Web/JavaScript/Reference/Functions/Arrow_functions">Pfeilfunktionen</a>.</p>
</div>
<h3 id="Gleichheitsoperatoren">Gleichheitsoperatoren</h3>
<p>Das Ergebnis der Auswertung eines Gleichheitoperators ist immer vom Typ <code>Boolean</code>, <span style="line-height: 1.5;"> basierend auf dem Ergebnis des Vergleiches</span><span style="line-height: 1.5;">.</span></p>
<dl>
<dt>{{jsxref("Operators/Comparison_Operators", "==", "#Equality")}}</dt>
<dd>Gleichheitsoperator.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", "!=", "#Inequality")}}</dt>
<dd>Ungleichheitsoperator.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}</dt>
<dd>Identitätsoperator.</dd>
<dt>{{jsxref("Operators/Comparison_Operators", "!==", "#Nonidentity")}}</dt>
<dd>"Nicht Identitäts"-Operator.</dd>
</dl>
<h3 id="Bitweise-Verschieben-Operatoren">Bitweise-Verschieben-Operatoren</h3>
<p>Operationen, die alle Bits eines Operanden verschieben.</p>
<dl>
<dt>{{jsxref("Operators/Bitwise_Operators", "<<", "#Left_shift")}}</dt>
<dd>Operator für bitweises Verschieben nach links.</dd>
<dt>{{jsxref("Operators/Bitwise_Operators", ">>", "#Right_shift")}}</dt>
<dd>Operator für bitweises Verschieben nach rechts.</dd>
<dt>{{jsxref("Operators/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}</dt>
<dd>Operator für vorzeichenloses bitweises Verschieben nach rechts.</dd>
</dl>
<h3 id="Binäre_bitweise_Operatoren">Binäre bitweise Operatoren</h3>
<p>Bitweise Operatoren behandeln ihre Operanden als eine Menge von 32 Bits und geben einen in JavaScript üblichen numerischen Werte zurück.</p>
<dl>
<dt>{{jsxref("Operators/Bitwise_Operators", "&", "#Bitwise_AND")}}</dt>
<dd>Bitweises UND.</dd>
<dt>{{jsxref("Operators/Bitwise_Operators", "|", "#Bitwise_OR")}}</dt>
<dd>Bitweises ODER.</dd>
<dt>{{jsxref("Operators/Bitwise_Operators", "^", "#Bitwise_XOR")}}</dt>
<dd>Bitweises XOR.</dd>
</dl>
<h3 id="Binäre_logische_Operatoren">Binäre logische Operatoren</h3>
<p>Logische Operatoren werden normalerweise mit Booleschen (logischen) Werten benutzt und sie liefern dann einen Booleschen Wert zurück.</p>
<dl>
<dt>{{jsxref("Operators/Logical_Operators", "&&", "#Logical_AND")}}</dt>
<dd>Logisches UND.</dd>
<dt>{{jsxref("Operators/Logical_Operators", "||", "#Logical_OR")}}</dt>
<dd>Logisches ODER.</dd>
</dl>
<h3 id="Bedingter_(ternärer)_Operator">Bedingter (ternärer) Operator</h3>
<dl>
<dt>{{jsxref("Operators/Conditional_Operator", "(Bedingung ? wennTrue : wennFalse)")}}</dt>
<dd>
<p>Der bedingte Operator liefert einen von zwei Werten zurück, in Abhängigkeit des logischen Wertes der Bedingung.</p>
</dd>
</dl>
<h3 id="Zuweisungsoperator">Zuweisungsoperator</h3>
<p>Der Zuweisungsoperator weist seinem linken Operand einen Wert zu, in Abhängigkeit des Wertes seines rechten Operanden.</p>
<dl>
<dt>{{jsxref("Operators/Assignment_Operators", "=", "#Assignment")}}</dt>
<dd>Zuweisungsoperator.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "*=", "#Multiplication_assignment")}}</dt>
<dd>Multiplikationszuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "/=", "#Division_assignment")}}</dt>
<dd>Teilungszuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "%=", "#Remainder_assignment")}}</dt>
<dd>Restzuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "+=", "#Addition_assignment")}}</dt>
<dd>Additionszuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "-=", "#Subtraction_assignment")}}</dt>
<dd>Subtraktionszuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "<<=", "#Left_shift_assignment")}}</dt>
<dd>Links-verschieben-Zuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", ">>=", "#Right_shift_assignment")}}</dt>
<dd>Rechts-verschieben-Zuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}</dt>
<dd>Vorzeichenlose (unsigned) Rechts-verschieben-Zuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}</dt>
<dd>Bitweise UND-Zuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}</dt>
<dd>Bitweise ENTWEDER-ODER-Zuweisung.</dd>
<dt>{{jsxref("Operators/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}</dt>
<dd>Bitweise ODER-Zuweisung.</dd>
<dt>{{jsxref("Operators/Destructuring_assignment", "[a, b] = [1, 2]")}}<br>
{{jsxref("Operators/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}</dt>
<dd>
<p>Destrukturierende Zuweisung ermöglicht das Zuweisen von Daten aus Arrays oder Objekten an Variablen, mit einer ähnlichen Syntax wie bei Array- oder Objekt-Literalen.</p>
</dd>
</dl>
<h3 id="Kommaoperator">Kommaoperator</h3>
<dl>
<dt>{{jsxref("Operators/Comma_Operator", ",")}}</dt>
</dl>
<p>Der Kommaoperator erlaubt es mehrere Ausdrücke innerhalb eines einzigen Ausdrucks zu evaluieren und liefert das Ergebnis des letzten Ausdrucks.</p>
<h3 id="Nicht_standardisierte_Funktionen">Nicht standardisierte Funktionen</h3>
<dl>
<dt>{{non-standard_inline}} {{jsxref("Operators/Legacy_generator_function", "Legacy generator function", "", 1)}}</dt>
<dd>Das <code>function</code> Schlüsselwort kann benutzt werden, um eine veraltete Generatorfunktion in einem Ausdruck zu schreiben. Um die Funktion zu einem veralteten Generator zu machen, muss der Funktionskörper mindestens ein {{jsxref("Operators/yield", "yield")}} Ausdruck enthalten.</dd>
<dt>{{non-standard_inline}} {{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}}</dt>
<dd>Die Ausdrucks Closure Syntax ist eine Kurzform für eine einfache Funktion.</dd>
<dt>{{non-standard_inline}} {{jsxref("Operators/Array_comprehensions", "[for (x of y) x]")}}</dt>
<dd>Array Comprehensions.</dd>
<dt>{{non-standard_inline}} {{jsxref("Operators/Generator_comprehensions", "(for (x of y) y)")}}</dt>
<dd>Generator Comprehensions.</dd>
</dl>
<h2 id="Spezifikationen">Spezifikationen</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spezifikation</th>
<th scope="col">Status</th>
<th scope="col">Kommentar</th>
</tr>
<tr>
<td>{{SpecName('ES1', '#sec-11', 'Expressions')}}</td>
<td>{{Spec2('ES1')}}</td>
<td>Initiale Definition.</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-11', 'Expressions')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td>
<td>{{Spec2('ES6')}}</td>
<td>Neu: Spread Syntax, Rest Syntax, destrukturierte Zuweisungen, <code>super</code> Schlüsselwort.</td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
<p>{{Compat("javascript.operators")}}</p>
<h2 id="Siehe_auch">Siehe auch</h2>
<ul>
<li><a href="/de/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">Operator Priorität</a></li>
</ul>
|