La boucle for...of

La boucle for...of permet de parcourir des collections de données.

Elle est très utilisée avec :

for...of est une syntaxe moderne et très lisible.

1. Syntaxe de base

for (const item of collection) {

    console.log(item);

}
Partie Rôle
item Valeur actuelle
collection Données parcourues

2. Parcourir un tableau

const fruits = ["apple", "banana", "orange"];

for (const fruit of fruits) {

    console.log(fruit);

}

for...of Array

> apple

> banana

> orange

3. Comparaison avec for classique

Avant for...of, on utilisait souvent une boucle for classique.

for (let i = 0; i < fruits.length; i++) {

    console.log(fruits[i]);

}

for...of est souvent plus simple et plus lisible.

4. Parcourir une chaîne de caractères

for...of fonctionne aussi avec les chaînes de caractères.

const username = "Fred";

for (const letter of username) {

    console.log(letter);

}

5. Parcourir une Map

Une Map peut être parcourue avec for...of.

const cart = new Map();

cart.set("apple", 2);

cart.set("banana", 3);

for (const pair of cart) {

    console.log(pair);

}

Chaque élément de la Map contient :

[clé, valeur]

6. Destructuring avec Map

Le destructuring est souvent utilisé avec for...of.

const cart = new Map();

cart.set("apple", 2);

cart.set("banana", 3);

for (const [item, quantity] of cart) {

    console.log(item);

    console.log(quantity);

}

Ici :

7. entries()

La méthode entries() retourne les paires clé → valeur.

for (const [key, value] of cart.entries()) {

    console.log(key);

    console.log(value);

}

Une Map utilise automatiquement entries() avec for...of.

8. keys()

La méthode keys() retourne seulement les clés.

for (const key of cart.keys()) {

    console.log(key);

}

9. values()

La méthode values() retourne seulement les valeurs.

for (const value of cart.values()) {

    console.log(value);

}

10. break

La boucle peut être arrêtée avec :

break
for (const fruit of fruits) {

    if (fruit === "banana") {

        break;

    }

    console.log(fruit);

}

11. continue

L’instruction continue saute une itération.

for (const fruit of fruits) {

    if (fruit === "banana") {

        continue;

    }

    console.log(fruit);

}

Ici, banana est ignoré.

12. for...of vs forEach()

for...of forEach()
Utilise une boucle Utilise une fonction
Supporte break Ne supporte pas break
Très flexible Très compact

13. Les structures itérables

for...of fonctionne avec les structures :

iterables

Exemples :

14. Erreur fréquente

for...of ne fonctionne pas directement avec les objets simples.

const user = {

    name: "Fred"

};

for (const value of user) {

    console.log(value);

}

Ce code produit une erreur, car les objets simples ne sont pas itérables.

15. Bonnes pratiques

Résumé rapide

Concept Utilité
for...of Parcourir une collection
Array Liste de valeurs
Map Clé → valeur
Destructuring Extraire clé et valeur
entries() Retourner clé → valeur
keys() Retourner les clés
values() Retourner les valeurs
break Arrêter la boucle
continue Sauter une itération