Zum Inhalt springen

For in / For of Schleife

Die for…of-Anweisung führt eine Schleife aus, die mit einer Folge von Werten arbeitet, die von einem iterierbaren Objekt stammen. Zu iterierbaren Objekten gehören Instanzen von integrierten Elementen wie Array, String, TypedArray, Map, Set, NodeList (und andere DOM-Sammlungen) sowie das arguments-Objekt, von Generatorfunktionen erzeugte Generatoren und benutzerdefinierte Iterables.

Die for…in-Anweisung iteriert über alle aufzählbaren Zeichenfolgeneigenschaften eines Objekts (ignoriert durch Symbole gekennzeichnete Eigenschaften), einschließlich geerbter aufzählbarer Eigenschaften.

let mein_array=[
        "Michi",
        "Monster",
        "Jasmin"
];

console.log(mein_array);

for (let e in mein_array) {
        console.log(e)
};

let mein_objekt= {
        name: "Michi",
        vorname: "Monster",
        alter: 45
};

for (let e in mein_objekt) {
        console.log(e)
};

Ausgabe:

Eine for…of-Schleife arbeitet mit den Werten, die aus einer iterierbaren Quelle nacheinander in sequentieller Reihenfolge stammen. Jede Operation der Schleife an einem Wert wird als Iteration bezeichnet, und die Schleife soll über die Iterable iterieren. Jede Iteration führt Anweisungen aus, die sich auf den aktuellen Sequenzwert beziehen können. Wenn eine for…of-Schleife über eine Iterable iteriert, ruft sie zuerst die [@@iterator]()-Methode der Iterable auf, die einen Iterator zurückgibt, und ruft dann wiederholt die next()-Methode des resultierenden Iterators auf, um die Folge von Werten zu erzeugen Variablen zugewiesen werden. Eine for…of-Schleife wird beendet, wenn der Iterator abgeschlossen ist (die Methode next() des Iterators gibt ein Objekt zurück, das done: true enthält). Sie können auch Kontrollflussanweisungen verwenden, um den normalen Kontrollfluss zu ändern. break beendet die Schleife und geht zur ersten Anweisung nach dem Schleifenrumpf, während Continue die restlichen Anweisungen der aktuellen Iteration überspringt und mit der nächsten Iteration fortfährt. Wenn die for…of-Schleife vorzeitig beendet wurde (z. B. wenn eine break-Anweisung auftritt oder ein Fehler ausgegeben wird), wird die return()-Methode des Iterators aufgerufen, um eine Bereinigung durchzuführen. Der variable Teil von for…of akzeptiert alles, was vor dem =-Operator stehen kann. Sie können const verwenden, um die Variable zu deklarieren, solange sie nicht innerhalb des Schleifenkörpers neu zugewiesen wird (sie kann sich zwischen Iterationen ändern, da es sich um zwei separate Variablen handelt). Andernfalls können Sie let verwenden.