Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 87
2.10.2Die for-of-Schleife
ОглавлениеEine for-of-Schleife durchläuft die Elemente eines iterierbaren Objekts, wobei es sich meistens um ein Array oder einen String handelt. (In Kapitel 8 erfahren Sie, wie Sie auch andere Objekte iterierbar machen können.)
Betrachten Sie dazu das folgende Beispiel:
let arr = [, 2, , 4]
arr[9] = 100
for (const element of arr)
console.log(element) // Gibt undefined, 2, undefined, 4, undefined
// (fünf Mal), 100 aus
Diese Schleife geht alle Elemente des Arrays vom Index 0 bis zu arr.length - 1 in aufsteigender Reihenfolge durch. Die Elemente an den Indizes 0, 2 und 4 bis 8 werden als undefined gemeldet. Die Variable element wird bei jedem Schleifendurchlauf erstellt und mit dem aktuellen Elementwert initialisiert. Sie wird als const deklariert, da sie im Schleifenrumpf nicht geändert wird.
Wenn Sie alle Elemente eines Arrays verarbeiten müssen, ist die for-of-Schleife eine praktische Verbesserung gegenüber der herkömmlichen for-Schleife. Allerdings gibt es immer noch reichlich Anwendungen für die klassische Version, etwa wenn Sie nicht das gesamte Array durchlaufen wollen oder den Indexwert innerhalb der Schleife brauchen.
Wenn Sie mit der for-of-Schleife einen String durchlaufen, sucht diese jeden Unicode-Codepunkt auf. Das ist auch tatsächlich das gewünschte Verhalten. Schauen Sie sich dazu das folgende Beispiel an:
let greeting = 'Hello '
for (const c of greeting)
console.log(c) // Gibt H e l l o, ein Leerzeichen und aus
Sie müssen sich also keine Gedanken darüber machen, dass für zwei Codeeinheiten verwendet werden, die in greeting[6] und greeting[7] gespeichert sind.