Javascript Anweisungen, Befehle, Kommentare

Javascript-Befehle oder Anweisungen (statements) weisen einer Variablen einen Wert zu oder rufen eine Funktion auf, prüfen Bedingungen oder iterieren durch eine Formel. Befehle oder Abweisungen sind der Motor des Javascript-Programms.

Javascript Anweisungen, Befehle

Anweisungen programmieren

Javascript-Befehle machen etwas – sie führen eine Zuweisung aus und steuern das Script durch Bedingungen und Wiederholungen. Der einfachste Javascript-Befehl ist eine Zuweisung oder Assignment.

  • Javascript-Befehle bestehen aus Schlüsselwörtern, die in einer spezifischen Syntax angewendet werden oder aus einfachen Ausdrücken.
    let zahl = 7;
  • Javascript-Befehle werden durch Semikolons voneinander getrennt.
    let quad = zahl * 2;
    zahl++;
  • Eine Anweisung über mehrere Zeilen ist möglich.
    const quiz = 
       `Die Summe von ${a} und ${b} ist ${(a + b)}.`;
  • Mehrere Befehle pro Zeile sind möglich (getrennt durch Semikolons)
    const x = 17; let y = x + 2; 
  • Befehle werden in der Reihenfolge ausgeführt, in der sie im Script-Code auftauchen.
    console.log("Schritt 1");
    console.log("Schritt 2");
    console.log("Schritt 3");

Kontrollstrukturen

In der einfachsten Form werden die Anweisungen des Programms von oben nach unten ausgeführt. Kontrollstrukturen treffen Entscheidungen, steuern den Ablauf und Wiederholungen.

Kontrollstruktur Wann benutzen?
if-else Entscheidung treffen (z. B. "eingabe > 20")
switch Bei vielen festen Optionen (z. B. Farben, Menüpunkte, Tasten-Eingaben)
for Wenn die Anzahl der Wiederholungen einer Aktion bekannt ist (z. B. von 0 bis 9)
while Wenn die Anzahl der Wiederholungen nicht bekannt ist (z.B. Benutzereingabe)
do...while Wenn die Anweisungen einer Aktion mindestens einmal ausgeführt werden
break Eine Schleife frühzeitig beenden
continue Einzelne Iterationen einer Schleife überspringen

Javascript-Befehlstypen

Befehle oder Anweisungen beginnen meist mit einem reservierten Word wie const, if, for oder while.

Kategorie Beispiele Zweck
Ausdrücke x + 3; Berechnung eines Werts
Deklarationen let, const, function, class Definiert Werte und Strukturen
Steuerung if, switch, for, while Beeinflusst den Codefluss
Sprungbefehle break, continue, return, throw Steuert den Ablauf direkt
Fehlermanagement try...catch Fängt Fehler ab
break
Unterbricht eine Schleife (while) oder eine switch-case-Folge
continue
Bricht die Ausführung einer Iteration ab und führt die nächste Iteration durch
if (Bedingung) { … } else { … }
Anweisungen werden nur unter bestimmten Bedingungen ausgeführt
(Bedingung) ? a : b
Bedingter Operator – auch als »Ternary« bezeichnet
for (const elem of arr)
iteriert über alles, was einen Index hat und Schritt für Schritt durchlaufen werden kann: Arrays, Sets, Maps und Strings, Nodelists und HTML-Collections.
for (let i=0 …)
Wiederholt einen Block von Anweisungen für eine bestimmte Anzahl von Schritten (Iteration)
for in
for in ist ein Sonderfall des for-Loops für die Iteration über Objekte
arr.forEach()
ruft eine Funktion für jedes Element des Arrays auf.
while (Bedingung)
Wiederholt einen Block von Anweisungen solang die Bedingung zutrifft
do … while (Bedingung)
Wiederholt einen Block von Anweisungen solange die Bedingung zutrifft, aber auf jeden Fall einmal
return
Beendet die Ausführung eines Blocks von Anweisungen und kehrt zur aufrufenden Funktion zurück
switch (Bedingung)
Anweisungen werden ausgeführt, wenn eine bestimmte Bedingung auftritt
try … catch
Führt einen Block von Anweisungen durch, wenn ein Fehler auftritt
const
Deklaration einer Variablen mit const muss immer direkt einen Wert angeben.
let und const
deklarieren Variablen
Kurzschrift with
Nicht mehr in Javascript enthalten

Semikolon

Anders als in C, PHP oder Java muss am Ende eines Javascript-Befehls kein Semikolon stehen, denn das Zeichen für neue Zeile gilt als Semikolon. Aber das Semikolon gilt als gute Programmierpraxis. Zwar ersetzt der Zeilenumbruch in Javascript das Semikolon, aber das gilt als schlechte Praxis und führt zu fehleranfälligen Scripten. Mehrere Befehle können in eine Zeile geschrieben werden, dann muss aber das Semikolon die Anweisungen auf jeden Fall voneinander trennen.

Javascript-Kommentare

Kommentare sind Textpassagen in einem Programm, die nicht als Programmcode interpretiert werden, sondern i.d.R. Erklärungen zum Programmcode, Copyright-Informationen oder andere Erläuterungen enthalten.

/* Dies ist ein Kommentar 
   über mehrere Zeilen */
	   
// Dies ist ein Kommentar in einer Zeile 

Es ist aber auch sinnvoll, mehrzeilige Kommentare mit // anstelle von /* und */ zu schreiben. So kann ein ganzer Codebereich später durch durch einen mehrzeiligen Kommentar ausgeschaltet werden.

/* Jetzt schalten wir alles aus
//   Dies ist ein Kommentar 
//   über mehrere Zeilen auf den 
//   ein paar Anweisungen folgen

let a = 115;
let b = false; 
if (a < 120) {
    b = true;
}
console.log ('Ist b wahr? ' + b);
*/

Block-Anweisung

{
   Anweisung; 
   Anweisung;
   Anweisung; 
}

Die Block-Anweisung gruppiert mehrere Anweisungen in geschweiften Klammern und wird i.d.R. für die Steuerung des Programms eingesetzt (flow control, z.B. bei if then else -Abfragen und in while-Schleifen).

var zahl = 100;
{ 
   var zahl = 7;
   var quad = zahl * 2;
   zahl++; 
}
console.log ('Wie steht es um zahl? ' + zahl); // zahl: 7

Durch einen Block in geschweiften Klammern entsteht kein neuer »Scope« oder Gültigkeitsbereich für Variablen, die mit dem traditionellen Schlüsselwort var deklariert sind, wie es in anderen Programmiersprachen der Fall ist.

Während zahl in C++ oder J am Ende des Blocks wieder den Wert 100 hätte, ist zahl am Ende des Javascript-Blocks 7. Solche Standalone-Blöcke machen in Javascript also i.d.R. wenig Sinn.

Blöcke werden nicht durch ein Semikolon abgeschlossen. Zwar führt ein Semikolon am Ende einer geschweiften Klammer nicht zu einem Fehler, aber durch das Semikolon entsteht eine leere Anweisung.

Block-Scope und das Schlüsselwort let

Seit ES6 gibt es die Schlüsselwörter let und const für die Deklaration oder Definition von Variablen. Anders als das klassische var sind das jüngere let und const auf ihren Blockbereich beschränkt.

Suchen auf mediaevent.de