Chapitre 4 : Structures de contrôle

Écouter la leçon Lecture audio assistée par IA

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");
}
⚠️ Important : N'oubliez pas le 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 :

  1. Affiche les nombres de 1 à 10
  2. Affiche "Pair" ou "Impair" pour chaque nombre
  3. 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.

Évaluation des acquis

Quiz du chapitre 4

Correction immédiate
Q1 Quelle instruction est utilisée pour exécuter un bloc de code si une condition est vraie ?
Q2 Quelle boucle exécute un bloc de code tant qu'une condition spécifiée est vraie ?
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.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
if (age >= 18) { console.log("Majeur"); }
#2 — Égalité stricte
Atelier #2

Quel opérateur utilise-t-on pour tester si deux valeurs sont égales ET de même type ?

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
if (x === y) { ... }
#3 — Boucle for
Atelier #3

Écris une boucle qui affiche les nombres de 1 à 5 dans la console.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
for (let i = 1; i <= 5; i++) { console.log(i); }
#4 — Boucle while
Atelier #4

Fais la même chose (compter jusqu'à 5) avec une boucle while.

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
let i = 1; while (i <= 5) { console.log(i); i++; }
#5 — Switch
Atelier #5

À quoi sert l'instruction 'break' dans un switch ?

Correction instantanée et bienveillante
Diagnostic du tuteur IA Weegosoft :
Consulter la solution type du formateur
Solution de référence :
// À arrêter l'exécution des cas suivants une fois qu'une correspondance a été trouvée.
Besoin d'aide ?
Tuteur Virtuel
Bonjour ! Je suis votre tuteur virtuel. Comment puis-je vous aider avec ce cours aujourd'hui ?
Historique des conversations
Chargement...