Les Conditions en JavaScript

Contrôler le flux d'exécution

Utilisez les flèches, cliquez ou glissez pour naviguer

Objectifs d'apprentissage

1. Conditions if / else if / else

Écrire des conditions complexes

2. Instruction switch

Utiliser break et comprendre le fall-through

3. Opérateur ternaire

Raccourci pour conditions simples

4. Cas limites et erreurs

Gérer les situations exceptionnelles

5. Combiner conditions et opérateurs logiques

Créer des expressions conditionnelles dans un projet concret

Plan de la présentation

Module 1

if / else if / else

Module 2

switch

Module 3

Opérateur ternaire

Pièges courants

Erreurs à éviter

Module 1

if / else if / else

Les conditions sont partout en programmation

C'est l'un des concepts les plus importants !

L'instruction if simple

Exécuter du code si une condition est vraie

if

(condition) {

// Code exécuté si condition === true

}

Exemple :

let age = 20;

if (age >= 18) {

console.log("Majeur");

}

// Affiche "Majeur"

if / else : Deux branches

Une alternative si la condition est fausse

let

temperature = 25;

if

(temperature > 30) {

console.log("Il fait chaud !");

}

else

{

console.log("Température agréable");

}

// Affiche "Température agréable"

condition === true

→ bloc if

condition === false

→ bloc else

if / else if / else : Plusieurs cas

let note = 15;

if

(note >= 16) {

console.log("Très bien");

}

else if

(note >= 14) {

console.log("Bien");

}

else if

(note >= 12) {

console.log("Assez bien");

}

else

{

console.log("À améliorer");

}

// Affiche "Bien"

⚠️ L'ordre des conditions compte !

Tester du plus restrictif au moins restrictif

❌ Mauvais ordre

if (age >= 0) { ... }

else if (age >= 18) { ... }

// age >= 18 jamais atteint !

âś“ Bon ordre

if (age >= 65) { ... }

else if (age >= 18) { ... }

else { ... }

// Chaque cas est vérifié

Règle : Les conditions sont évaluées de haut en bas. La première vraie gagne !

Combiner avec les opérateurs logiques

&& (AND)

Les DEUX conditions doivent ĂŞtre vraies

|| (OR)

Au moins UNE condition doit ĂŞtre vraie

// Exemple : accès à un compte bancaire

let estConnecte = true;

let a2FA = true;

let estAdmin = false;

if

(estConnecte && a2FA) {

console.log("Accès autorisé");

}

if

(estAdmin || a2FA) {

console.log("Accès spécial");

}

Module 2

L'instruction switch

Comparer une valeur Ă  plusieurs cas possibles

Syntaxe de switch

switch

(valeur) {

case valeur1:

// Code si valeur === valeur1

break;

case valeur2:

// Code si valeur === valeur2

break;

default:

// Code si aucun cas ne correspond

}

Important : switch utilise la comparaison stricte (===)

Exemple : Jour de la semaine

let jour = "lundi";

switch

(jour) {

case "samedi":

case "dimanche":

console.log("Weekend !");

break;

case "lundi":

console.log("Début de semaine");

break;

default:

console.log("Jour de travail");

}

// Affiche "Début de semaine"

⚠️ break : Ne l'oubliez pas !

❌ Sans break (fall-through)

case "a":

console.log("A");

// Pas de break !

case "b":

console.log("B");

// Les 2 s'affichent !

âś“ Avec break

case "a":

console.log("A");

break;

case "b":

console.log("B");

break;

// Un seul s'affiche

Fall-through intentionnel : Parfois utile (ex: regrouper samedi/dimanche), mais attention aux bugs !

switch vs if : Quand choisir ?

âś“ Utilisez switch

  • • Comparer une seule variable
  • • Plusieurs valeurs discrètes
  • • Code plus lisible
  • Ex: menu, statut, jour

âś“ Utilisez if

  • • Conditions complexes
  • • Plages de valeurs (>=, <=)
  • • OpĂ©rateurs logiques (&&, ||)
  • Ex: age, score, validation

Module 3

L'opérateur ternaire

Un raccourci pour les conditions simples

Syntaxe de l'opérateur ternaire

condition ? valeurSiVrai : valeurSiFaux

if / else classique

let message;

if (age >= 18) {

message = "Majeur";

} else {

message = "Mineur";

}

âś“ Ternaire (plus court)

let message = age >= 18

? "Majeur"

: "Mineur";

Exemples pratiques

// Afficher un message selon le statut

let estConnecte = true;

let statut = estConnecte ? "En ligne" : "Hors ligne";

// statut = "En ligne"

// Calculer un prix avec réduction

let estMembre = true;

let prix = estMembre ? 8 : 10;

// prix = 8

// Dans un template literal

let panier = 3;

console.log(`${panier} article${panier > 1 ? "s" : ""}`);

// "3 articles"

⚠️ Quand NE PAS utiliser le ternaire

❌ Ternaire imbriqué (illisible)

let result = a > b

? (a > c ? a : c)

: (b > c ? b : c);

// Difficile Ă  comprendre !

âś“ if / else (lisible)

if (a > b) {

result = a > c ? a : c;

} else {

result = b > c ? b : c;

}

// Plus clair !

Règle : Utilisez le ternaire pour des conditions simples et uniques. Pour du complexe, restez sur if/else.

⚠️ Pièges Courants

Les erreurs à éviter absolument

Piège 1 : Oublier les accolades {}

❌ Sans accolades (risqué)

if (age >= 18)

console.log("Majeur");

console.log("Adulte");

// "Adulte" toujours affiché !

✓ Avec accolades (sûr)

if (age >= 18) {

console.log("Majeur");

console.log("Adulte");

}

// Les 2 dans le bloc

Conseil : Même pour une seule ligne, mettez les accolades par sécurité. Ça évite les bugs futurs.

Piège 2 : Oublier le break dans switch

// Le fall-through est un piège classique

let choix = 1;

switch

(choix) {

case 1:

console.log("Option 1");

// Oups, pas de break !

case 2:

console.log("Option 2");

// Pas de break non plus

default:

console.log("Autre");

}

// Affiche les 3 messages !

Piège 3 : Confondre = et ===

❌ = (affectation) dans un if

let x = 5;

if (x = 10) {

console.log("Vrai");

}

// Affiche "Vrai" ! x = 10 maintenant

âś“ === (comparaison)

let x = 5;

if (x === 10) {

console.log("Vrai");

}

// N'affiche rien (correct)

Danger : = affecte une valeur, === compare. Dans un if, utilisez toujours === ou !==

Récapitulatif

if / else if / else

Conditions flexibles

Ordre : restrictif → large

switch

Valeurs discrètes

N'oubliez pas break !

Ternaire

Conditions simples

? : en une ligne

Les conditions sont partout en programmation — maîtrisez-les !

Points clés à retenir

1

L'ordre des conditions compte

Tester du plus restrictif au moins restrictif

2

Le ternaire est un raccourci

Ne l'utilisez pas pour du code complexe

3

Toujours utiliser ===

Jamais = dans une condition

4

Accolades et break obligatoires

Même pour une seule ligne, par sécurité

Questions ?

Pratiquez ces conditions dans vos projets !

La meilleure façon d'apprendre : expérimenter !