If et else
Les opérateurs logiques vous ont donné un oui/non. Question suivante : quelles lignes doivent s’exécuter ? Si oui, un bloc ; si non, un autre. Ce choix, c’est if / else / else if. Vous savez déjà construire un boolean ; ici vous l’utilisez pour choisir le chemin.
Que fait if ?
if regarde la condition entre parenthèses. Si la valeur est truthy, JavaScript exécute le bloc entre accolades juste après. Si elle est falsy, ce bloc est ignoré. else est le chemin de secours quand le if a échoué. else if ajoute un autre test avant le else final.
Les mots-clés en un coup d’œil
📊 Pièces quotidiennes if / else
| Mot-clé | Lecture quotidienne | Usage typique |
|---|---|---|
if |
si ceci passe, exécuter ce bloc | premier contrôle |
else if |
sinon, si cet autre contrôle passe… | chemins du milieu |
else |
sinon, exécuter ceci | dernier recours |
Gardez la condition honnête : une comparaison (age >= 18), une jointure logique (age >= 18 && score >= 60) ou une variable boolean claire. Le travail de ce chemin va dans { … }.
let age = 20;
if (age >= 18) {
console.log("adult");
}
console.log("done");
if ne s’exécute que si le test passe
Ici age vaut 20, donc age >= 18 est true et la console affiche adult, puis done. Passez age à 16 : il ne reste que done — le bloc if a été sauté.
La ligne après le } fermant s’exécute en général toujours (sauf si vous quittez plus tard la fonction). if n’arrête pas tout le programme ; il décide seulement si son propre bloc tourne.
let age = 16;
if (age >= 18) {
console.log("adult");
} else {
console.log("under 18");
}
else couvre l’autre chemin
Cette fois le test échoue ; JavaScript saute le premier bloc et exécute else. Vous voyez under 18. Pour une paire simple if / else, exactement une branche tourne — jamais les deux, jamais aucune.
let score = 75;
if (score >= 90) {
console.log("A");
} else if (score >= 60) {
console.log("pass");
} else {
console.log("retry");
}
else if ajoute des chemins intermédiaires
score vaut 75. Le premier test (>= 90) échoue. Le second (>= 60) passe : vous voyez pass et le else final est ignoré. L’ordre compte : placez d’abord les plages plus strictes quand elles se chevauchent.
Trois if séparés pourraient exécuter plusieurs blocs. else if garde les chemins exclusifs — après la première correspondance, la chaîne s’arrête.
let age = 20;
let score = 75;
if (age >= 18 && score >= 60) {
console.log("allowed");
} else {
console.log("blocked");
}
let ready = false;
if (!ready) {
console.log("wait");
}
Mettez de vrais tests entre parenthèses
La condition peut être une comparaison, une expression logique ou un boolean inversé. age >= 18 && score >= 60 vaut true : vous voyez allowed. !ready vaut aussi true : vous voyez wait. Construisez d’abord le oui/non ; laissez if choisir la branche.
let age = 20;
let label;
if (age >= 18) {
label = "adult";
} else {
label = "under 18";
}
console.log(label);
Nommez le résultat de la branche
Parfois vous voulez une chaîne (ou un nombre) issue du choix, pas seulement un console.log. Assignez label dans chaque branche, puis utilisez-le une fois. Ici label devient "adult".
Affichez le chemin choisi sur la page
Créez un court message avec if / else, puis écrivez-le dans la page.
<!DOCTYPE html>
<html>
<head>
<title>If else — page branch</title>
</head>
<body>
<p id="out">…</p>
<script>
let age = 20;
let msg;
if (age >= 18) {
msg = "adult";
} else {
msg = "under 18";
}
let box = document.getElementById("out");
box.textContent = "status=" + msg;
</script>
</body>
</html>
age vaut 20, la page montre status=adult. Mettez age à 16, rechargez : vous devriez voir status=under 18. La leçon suivante (switch) choisit parmi plusieurs valeurs fixes ; pour les portes oui/non du quotidien, if / else reste l’outil.
À essayer vous-même
- Journalisez
"ok"dansif (true)et vérifiez l’affichage. - Utilisez
if/elseaveclet age = 16et affichez"adult"ou"under 18". - Construisez une chaîne
else ifpour les bandes descore:A(≥ 90),pass(≥ 60), sinonretry. - Combinez
age >= 18 && score >= 60dans une conditionif. - Stockez une chaîne
labelviaif/else, puis journalisez-la une fois. - Dans la démo HTML, changez seulement
age, rechargez, lisez le nouveau textestatus=.
Erreurs fréquentes
- Oublier les accolades
{ }autour du corps de la branche - Écrire
if (age = 18)avec un seul=(affectation) au lieu d’une comparaison - Placer un
elsesansifcorrespondant au-dessus - Plusieurs
ifséparés alors que vous vouliez des chemins exclusifselse if - Tester des plages dans le mauvais ordre (ex.
>= 60avant>= 90)
Résumé
ifexécute un bloc quand la condition est truthyelses’exécute quand ceifa échouéelse ifajoute d’autres chemins intermédiaires exclusifs- Les conditions sont surtout des comparaisons ou des expressions logiques
- Gardez chaque branche entre accolades ; stockez une étiquette si vous en avez besoin plus tard
- Suite : switch — choisir parmi plusieurs valeurs fixes
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut