Durchlauf: 0
Durchlauf: 1
Durchlauf: 2
Durchlauf: 3
Durchlauf: 4
Mit Schleifen wiederholst du Code mehrfach – ohne ihn immer wieder abzutippen. Das spart Zeit und macht Programme flexibler, zum Beispiel wenn du alle Elemente eines Arrays durchgehen oder so lange etwas prüfen willst, bis eine Bedingung erfüllt ist.
Die for-Schleife eignet sich besonders, wenn du genau weißt, wie oft der Code laufen soll. Typisch ist ein Zähler, der bei jedem Durchlauf um eins erhöht wird.
1for (Startwert; Bedingung; Schritt) {
2 // Code, der wiederholt wird
3}1for (let i = 0; i < 5; i++) {
2 console.log("Durchlauf:", i);
3}Durchlauf: 0
Durchlauf: 1
Durchlauf: 2
Durchlauf: 3
Durchlauf: 4
Im Beispiel startet i bei 0, die Schleife läuft solange i < 5 gilt, und nach jedem Durchlauf wird i um 1 erhöht (i++).
Die while-Schleife prüft zuerst die Bedingung und führt den Code nur aus, solange sie wahr ist. Du nutzt sie, wenn die Anzahl der Durchläufe von einer Bedingung abhängt – zum Beispiel „solange der Benutzer nicht auf Abbrechen klickt".
1while (bedingung) {
2 // Code, der wiederholt wird
3}1let zaehler = 0;
2
3while (zaehler < 3) {
4 console.log("Zähler:", zaehler);
5 zaehler++;
6}Zähler: 0
Zähler: 1
Zähler: 2
Wichtig: Innerhalb der Schleife muss sich etwas ändern, damit die Bedingung irgendwann falsch wird – sonst läuft die Schleife endlos.
Bei do...while wird der Code mindestens einmal ausgeführt, bevor die Bedingung geprüft wird. Das unterscheidet sie von der normalen while-Schleife.
1do {
2 // Code, der mindestens einmal ausgeführt wird
3} while (bedingung);1let wert = 0;
2
3do {
4 console.log("Wert:", wert);
5 wert++;
6} while (wert < 3);Wert: 0
Wert: 1
Wert: 2
Mit for...of durchläufst du alle Werte eines Arrays oder eines anderen iterierbaren Objekts – ohne einen Index selbst zu verwalten. Das ist oft lesbarer als eine klassische for-Schleife mit Zähler.
1for (let element of iterable) {
2 // Code für jedes Element
3}1let farben = ["Rot", "Grün", "Blau"];
2
3for (let farbe of farben) {
4 console.log(farbe);
5}Rot
Grün
Blau
for...in durchläuft die Eigenschaftsnamen (Keys) eines Objekts. Du bekommst also nicht direkt die Werte, sondern die Namen der Eigenschaften – die Werte holst du dir dann über objekt[eigenschaft].
1for (let eigenschaft in objekt) {
2 // Code für jede Eigenschaft
3}1let person = {
2 name: "Anna",
3 alter: 25,
4 stadt: "Berlin"
5};
6
7for (let eigenschaft in person) {
8 console.log(eigenschaft + ":", person[eigenschaft]);
9}name: Anna
alter: 25
stadt: Berlin
Für Arrays ist for...of meist die bessere Wahl. for...in eignet sich vor allem für Objekte.
Manchmal willst du eine Schleife vorzeitig beenden oder einen einzelnen Durchlauf überspringen. Dafür gibt es zwei Schlüsselwörter:
break – beendet die Schleife sofortcontinue – springt zum nächsten Durchlauf1for (let i = 1; i <= 10; i++) {
2 if (i === 3) {
3 continue; // überspringt die 3
4 }
5 if (i === 8) {
6 break; // stoppt die Schleife bei 8
7 }
8 console.log(i);
9}1
2
4
5
6
7
Die 3 wird wegen continue übersprungen. Bei der 8 stoppt break die Schleife – 9 und 10 werden nicht mehr ausgegeben.
Es gibt mehrere Schleifenarten – welche du nimmst, hängt von deiner Aufgabe ab. Diese Übersicht hilft dir bei der Entscheidung:
| Schleife | Verwendung |
|---|---|
for | Wenn die Anzahl der Durchläufe bekannt ist. |
while | Wenn die Anzahl der Durchläufe unbekannt ist und von einer Bedingung abhängt. |
do...while | Wenn der Code mindestens einmal ausgeführt werden soll. |
for...of | Zum Durchlaufen von Arrays oder anderen iterierbaren Objekten. |
for...in | Zum Durchlaufen der Eigenschaften eines Objekts. |
Im nächsten Kapitel lernst du: Funktionen