Une boucle for, tour par tour for (let i = 0; i < 4; i++) { const s = stagiaires[i]; if (s.moyenne >= 16) … else if … else … liste.innerHTML += … } compteur i – i < 4 ? stagiaires [0] Salma : 16.5 [1] Youssef : 9.25 [2] Imane : 13 [3] Hamza : 11.75 la page • Salma (Très bien) • Youssef (Ajourné) • Imane (Assez bien) • Hamza (Passable)
Le tableau stagiaires a 4 éléments, numérotés de 0 à 3. La boucle va traiter chacun.
‹ Lire l'animation › 1 / 6
Les mots clés de la leçon
Les conditions
Définition
if / else if / else
Une structure qui exécute un bloc seulement si une condition est vraie, en testant les conditions dans l’ordre.
En clair Le videur du concert : billet VIP, entrée par la porte A. Sinon billet normal, porte B. Sinon, pas d’entrée.
if (moyenne >= 16 ) {
mention = 'Très bien' ;
} else if (moyenne >= 14 ) {
mention = 'Bien' ;
} else {
mention = 'Autre' ;
}
L’opérateur ternaire est un raccourci pour un choix simple :
const statut = moyenne >= 10 ? 'Admis' : 'Ajourné' ;
switch compare une valeur à plusieurs cas précis (n’oubliez pas break) :
switch (filiere) {
case 'DEV' : console .log ('Développement digital' ); break ;
case 'ID' : console .log ('Infrastructure digitale' ); break ;
default : console .log ('Autre filière' );
}
Exemple simple
Le prix du billet selon l’âge
Une seule branche s’exécute, la première dont la condition est vraie.
const age = 15 ;
let prix;
if (age < 4 ) {
prix = 0 ;
} else if (age < 18 ) {
prix = 20 ;
} else {
prix = 40 ;
}
console .log (`Billet : ${prix} DH` ); // Billet : 20 DH
Ce qui se passe
age < 4 est faux : on passe au test suivant.
age < 18 est vrai : prix = 20, et les autres branches sont ignorées.
Les boucles
Définition
Boucle for et for…of
for répète un bloc en comptant. for...of parcourt directement chaque élément d’un tableau. while répète tant qu’une condition est vraie.
En clair Distribuer une copie à chaque élève de la liste, un par un.
Boucle Quand l’utiliser for (let i = 0; i < n; i++)on connaît le nombre de tours for (const x of tableau)parcourir les valeurs d’un tableau for (const cle in objet)parcourir les propriétés d’un objet while (condition)on répète tant qu’une condition est vraie do { } while (condition)au moins une fois
break sort de la boucle, continue passe directement au tour suivant.
Exemple simple
for, for…of et while sur le même exemple
Afficher les jours d’un tableau.
const jours = ["lundi" , "mardi" , "mercredi" ];
for (let i = 0 ; i < jours.length ; i++ ) console .log (i, jours[i]);
for (const j of jours) console .log (j);
let k = 0 ;
while (k < jours.length ) { console .log (jours[k]); k++ ; }
Ce qui se passe
for classique : on a besoin de l’indice i.
for…of : on veut seulement les valeurs, c’est le plus simple.
while : utile quand on ne sait pas d’avance combien de tours.
Attention, erreur fréquente
<= au lieu de < avec length
Les indices vont de 0 à length - 1. Avec <=, le dernier tour lit une case qui n’existe pas (undefined).
Pour l’éviter :
Écrivez i < tableau.length. L’exemple « Trouver une erreur » du lab JavaScript montre ce bug pas à pas.
Tâche répétitive ou conditionnelle ?
Définition
Choisir la structure
Si l’énoncé dit « pour chaque », « n fois » ou « tant que », c’est une boucle. S’il dit « si », « selon » ou « sinon », c’est une condition.
En clair Les mots de la consigne sont des panneaux qui indiquent la bonne route.
« Pour chaque stagiaire… », « 10 fois… », « tant que… » : boucle ;
« si la moyenne… », « selon le jour… » : condition ;
souvent les deux ensemble : une condition dans une boucle.
Attention à la boucle infinie : dans un while, la condition doit finir par devenir fausse.
Exemple simple
Choisir la bonne structure
Trois situations, trois structures.
Ce qui se passe
« Envoyer un SMS à chacun des 30 élèves » : nombre connu, boucle for.
« Redemander le mot de passe tant qu’il est faux » : boucle while.
« Afficher Admis ou Ajourné » : pas de répétition, une condition if.
Exemple simple Le feu tricolore Si le feu est vert, on passe ; sinon, s'il est orange, on ralentit ; sinon, on s'arrête. C'est une suite if / else if / else.
if (feu === 'vert' ) {
console .log ('Passer' );
} else if (feu === 'orange' ) {
console .log ('Ralentir' );
} else {
console .log ('Stop' );
} Exemple simple Distribuer les copies Le formateur répète le même geste pour chaque stagiaire de la liste : c'est une boucle for...of.
for (const nom of ['Salma' , 'Youssef' , 'Imane' ]) {
console .log (`Copie remise à ${nom}` );
}