We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.

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.

Anweisungen und Deklarationen nach Kategorie

Für eine alphabetische Auflistung, siehe Sidebar auf der linken Seite.

Kontrollfluss

Block
Anweisungsblöcke werden genutzt um ein oder mehrere Anweisungen zu gruppieren. Der Block wird von geschweiften Klammern umfasst.
break
Beendet die aktuelle Schleifen-, Switch-, oder mit Label versehene Anweisung und das Programm wird hinter dieser fortgesetzt.
continue
Beendet den Durchlauf der aktuellen, bzw. der mittels Label angesprochenen Schleife und fährt mit dem nächsten Schleifendurchlauf fort.
Empty
Man verwendet empty anstatt einer echten Anweisung, um keine Anweisung zu geben, an stellen an denen nach JavaScript-Syntax eine erwartet wird.
if...else
Führt eine Anweisung aus wenn eine zuvor festgelegte Bedingung erfüllt (als true gewertet) wird. Ist die Bedingung false, kann eine andere Anweisung ausgeführt werden.
switch
Nach Auswertung eines Ausdrucks, wird anhand des Ergebnisses eine Fallunterscheidung durchgeführt und die entsprechende durch ein case-Label markierte Anweisung ausgeführt.
throw
Leitet das Auswerfen eines Fehlerausdrucks ein.
try...catch
Ein Anweisungsblock wird "ausprobiert" (try) und ein eventuell auftretender Fehler abgefangen (catch) und gegebenenfalls behandelt.

Deklarationen

var
Deklariert eine Variable und initialisiert sie optional mit einem Wert.
let
Deklariert eine Blocklokale variable und initialisiert sie optional mit einem Wert.
const
Deklariert eine Konstante auf welche nur lesend zugegriffen werden kann.

Funktionen und Klassen

function
Deklariert eine Funktion mit festgelegten Parametern.
function*
Erzeugt Funktionen mit denen  Schleifen leichter zu schreiben sind.
async function
Deklariert eine asynchrone Funktion mit festgelegten Parametern.
return
Legt den Rückgabewert einer Funktion fest.
class
Deklariert eine Klasse.

Schleifen

do...while
Eine Schleife die solange ausgeführt wird bis die Bedingung false ist. Die Bedinung wird erst am ende eines Durchgangs überprüft.
for
Creates a loop that consists of three optional expressions, enclosed in parentheses and separated by semicolons, followed by a statement executed in the loop.
for_each...in
Iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.
for...in
Iterates over the enumerable properties of an object, in arbitrary order. For each distinct property, statements can be executed.
for...of
Iterates over iterable objects (including arrays, array-like objects, iterators and generators), invoking a custom iteration hook with statements to be executed for the value of each distinct property.
while
Creates a loop that executes a specified statement as long as the test condition evaluates to true. The condition is evaluated before executing the statement.

Others

debugger
Invokes any available debugging functionality. If no debugging functionality is available, this statement has no effect.
export
Used to export functions to make them available for imports in external modules, another scripts.
import
Used to import functions exported from an external module, another script.
label
Provides a statement with an identifier that you can refer to using a break or continue statement.
with
Extends the scope chain for a statement.

Specifications

Specification Status Comment
ECMAScript 1st Edition (ECMA-262)
Die Definition von 'Statements' in dieser Spezifikation.
Standard Initial Definition
ECMAScript 3rd Edition (ECMA-262)
Die Definition von 'Statements' in dieser Spezifikation.
Standard  
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Statements' in dieser Spezifikation.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'ECMAScript Language: Statements and Declarations' in dieser Spezifikation.
Standard Neu: function*, let, for...of, yield, class
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'ECMAScript Language: Statements and Declarations' in dieser Spezifikation.
Entwurf  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Legacy generator function Nein Nein2 — 58 Nein Nein Nein
async function55 Ja52 Nein4210.1
block Ja Ja1 Ja Ja Ja
break Ja Ja1 Ja Ja Ja
class42 Ja45 Nein ?10.1
const21 Ja361 211 Ja5.1
continue Ja Ja1 Ja Ja Ja
debugger Ja Ja1 Ja Ja Ja
do...while Ja Ja16 Ja Ja
Empty statement (;) Ja Ja1 Ja Ja Ja
export61

16

153

60

54 — 604

Nein4710.1
for Ja Ja1 Ja Ja Ja
for each...in Nein Nein1.5 — 57 Nein Nein Nein
for...in Ja Ja16 Ja Ja
for...of3812135 Nein258
function Ja Ja1 Ja Ja Ja
function*391326 Nein2610
if...else Ja Ja1 Ja Ja Ja
import61

16

153

60

54 — 604

Nein4710.1
label Ja Ja1 Ja Ja Ja
let4112447 8 9111710
return Ja Ja1 Ja Ja Ja
switch Ja Ja1 Ja Ja Ja
throw Ja Ja1 Ja Ja Ja
try...catch Ja Ja16 Ja Ja
var Ja Ja1 Ja Ja Ja
while Ja Ja1 Ja Ja Ja
with Ja Ja1 Ja Ja Ja
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Legacy generator function Nein Nein Nein4 — 58 Nein Nein Nein
async function Ja55 Ja524210.16.0
block Ja Ja Ja4 Ja Ja Ja
break Ja Ja Ja4 Ja Ja Ja
class4242 Ja45 ?10.14.0
const Ja Ja Ja361 2 Ja Ja Ja
continue Ja Ja Ja4 Ja Ja Ja
debugger Ja Ja Ja4 Ja Ja Ja
do...while Ja Ja Ja4 Ja Ja Ja
Empty statement (;) Ja Ja Ja4 Ja Ja Ja
export Nein61 Ja

60

54 — 604

4710.1 Nein
for Ja Ja Ja4 Ja Ja Ja
for each...in Nein Nein Nein4 — 57 Nein Nein Nein
for...in Ja Ja Ja4 Ja Ja Ja
for...of5.1 Ja12145258 Ja
function Ja Ja Ja4 Ja Ja Ja
function* Ja39 Ja26 Ja104.0
if...else Ja Ja Ja4 Ja Ja Ja
import Nein61 Ja

60

54 — 604

4710.1 Nein
label Ja Ja Ja4 Ja Ja Ja
let414112447 8 917104.0
return Ja Ja Ja4 Ja Ja Ja
switch Ja Ja Ja4 Ja Ja Ja
throw Ja Ja Ja4 Ja Ja Ja
try...catch Ja Ja Ja4 Ja Ja Ja
var Ja Ja Ja4 Ja Ja Ja
while Ja Ja Ja4 Ja Ja Ja
with Ja Ja Ja4 Ja Ja Ja

1. Prior to Firefox 13, const is implemented, but re-assignment is not failing.

2. Prior to Firefox 46, a TypeError was thrown on redeclaration instead of a SyntaxError.

3. From version 15: this feature is behind the Experimental JavaScript Features preference.

4. From version 54 until version 60 (exclusive): this feature is behind the dom.moduleScripts.enabled preference. To change preferences in Firefox, visit about:config.

5. Prior to Firefox 51, using the for...of loop construct with the const keyword threw a SyntaxError ("missing = in const declaration").

6. From version 8: this feature is behind the --experimental-modules runtime flag.

7. Prior to Firefox 44, let is only available to code blocks in HTML wrapped in a <script type="application/javascript;version=1.7"> block (or higher version) and has different semantics (e.g. no temporal dead zone).

8. Prior to Firefox 46, a TypeError is thrown on redeclaration instead of a SyntaxError.

9. Firefox 54 adds support of let in workers.

See also

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: schlagi123, JorisGutjahr, fscholz, SphinxKnight, timbernasley
Zuletzt aktualisiert von: schlagi123,