Chapitre 4 : Structures de contrôle
1. Introduction
Les structures de contrôle permettent de contrôler le flux d'exécution de votre code en fonction de conditions ou de répéter des actions.
2. Les conditions : if / else
Syntaxe de base
let age = 18;
if (age >= 18) {
console.log("Vous êtes majeur");
}
if...else
let age = 15;
if (age >= 18) {
console.log("Vous êtes majeur");
} else {
console.log("Vous êtes mineur");
}
if...else if...else
let note = 85;
if (note >= 90) {
console.log("Excellent");
} else if (note >= 75) {
console.log("Bien");
} else if (note >= 50) {
console.log("Passable");
} else {
console.log("Insuffisant");
}
3. L'instruction switch
Utile pour tester une variable contre plusieurs valeurs :
let jour = "lundi";
switch (jour) {
case "lundi":
console.log("Début de semaine");
break;
case "vendredi":
console.log("Bientôt le weekend !");
break;
case "samedi":
case "dimanche":
console.log("C'est le weekend !");
break;
default:
console.log("Jour de semaine normal");
}
break pour éviter que le code continue dans les autres cas !
4. L'opérateur ternaire
Syntaxe courte pour les conditions simples :
let age = 20;
let statut = age >= 18 ? "majeur" : "mineur";
console.log(statut); // "majeur"
// Équivalent à :
let statut2;
if (age >= 18) {
statut2 = "majeur";
} else {
statut2 = "mineur";
}
5. La boucle for
Répète un bloc de code un nombre déterminé de fois :
// Afficher les nombres de 0 à 4
for (let i = 0; i < 5; i++) {
console.log(i);
}
// Affiche: 0, 1, 2, 3, 4
// Parcourir un tableau
let fruits = ["pomme", "banane", "orange"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
6. La boucle while
Répète tant qu'une condition est vraie :
let compteur = 0;
while (compteur < 5) {
console.log(compteur);
compteur++;
}
// Affiche: 0, 1, 2, 3, 4
7. La boucle do...while
Exécute au moins une fois, puis répète tant que la condition est vraie :
let x = 0;
do {
console.log(x);
x++;
} while (x < 3);
// Affiche: 0, 1, 2
// Différence : s'exécute au moins une fois même si la condition est fausse
let y = 10;
do {
console.log("Exécuté une fois");
} while (y < 5); // Condition fausse mais s'exécute quand même
8. La boucle for...of
Parcourt les valeurs d'un tableau ou d'une chaîne :
let fruits = ["pomme", "banane", "orange"];
for (let fruit of fruits) {
console.log(fruit);
}
// Affiche: pomme, banane, orange
// Avec une chaîne
let mot = "Bonjour";
for (let lettre of mot) {
console.log(lettre);
}
// Affiche: B, o, n, j, o, u, r
9. La boucle for...in
Parcourt les clés d'un objet :
let personne = {
nom: "Dupont",
age: 30,
ville: "Paris"
};
for (let cle in personne) {
console.log(cle + ": " + personne[cle]);
}
// Affiche:
// nom: Dupont
// age: 30
// ville: Paris
10. break et continue
break : Sortir d'une boucle
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // Sort de la boucle
}
console.log(i);
}
// Affiche: 0, 1, 2, 3, 4
continue : Passer à l'itération suivante
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue; // Saute cette itération
}
console.log(i);
}
// Affiche: 0, 1, 3, 4 (2 est sauté)
11. Exercice pratique
Créez un programme qui :
- Affiche les nombres de 1 à 10
- Affiche "Pair" ou "Impair" pour chaque nombre
- Affiche "FizzBuzz" pour les multiples de 3 et 5, "Fizz" pour les multiples de 3, "Buzz" pour les multiples de 5
Solution :
// Exercice 1 & 2
for (let i = 1; i <= 10; i++) {
let type = i % 2 === 0 ? "Pair" : "Impair";
console.log(i + " - " + type);
}
// Exercice 3 : FizzBuzz
for (let i = 1; i <= 20; i++) {
if (i % 15 === 0) {
console.log("FizzBuzz");
} else if (i % 3 === 0) {
console.log("Fizz");
} else if (i % 5 === 0) {
console.log("Buzz");
} else {
console.log(i);
}
}
Conclusion
Vous maîtrisez maintenant les structures de contrôle en JavaScript ! Dans le prochain chapitre, nous allons découvrir les fonctions.
Quiz du chapitre 4
Ateliers pratiques & Projets
Testez vos compétences avec nos exercices guidés et le tuteur IA.
Ateliers pratiques & Corrigés détaillés
Ateliers pratiques & Corrigés
#1 — Condition if
Atelier #1Écris un test qui affiche 'Majeur' si la variable 'age' est supérieure ou égale à 18.
Consulter la solution type du formateur
#2 — Égalité stricte
Atelier #2Quel opérateur utilise-t-on pour tester si deux valeurs sont égales ET de même type ?
Consulter la solution type du formateur
#3 — Boucle for
Atelier #3Écris une boucle qui affiche les nombres de 1 à 5 dans la console.
Consulter la solution type du formateur
#4 — Boucle while
Atelier #4Fais la même chose (compter jusqu'à 5) avec une boucle while.
Consulter la solution type du formateur
#5 — Switch
Atelier #5À quoi sert l'instruction 'break' dans un switch ?