[Mise à jour le 20/6/2021]
Les tests conditionnels permettent d'orienter l'exécution vers des branchements d'instructions selon le résultat de conditions définies par le développeur.
Exemple : calcul de frais de port à un seuil.
if (montant >= 100) { var port = 0; }
Exemple 1 : calcul de frais de port à un seuil.
var port = 0; if (montant >= 100) { port = 0; } else { port = 6.9; }
Exemple 2 : calcul de frais de port à deux seuils.
var port = 0; if (montant >= 100) { port = 0; } else if (montant >= 50){ port = 3.9; } else { port = 6.9; }
Syntaxe
switch (expression) { case valeur1 : blocInstructions1 // Ce bloc d'instructions est exécuté si expression est égal à valeur1 break; ... case valeurN : blocInstructionsN break; default : blocInstructionsDefault }
Exemple
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Jours semaine</title> </head> <body> <h1 id="message"></h1> <script type="text/javascript"> var dt = new Date(); var jour = dt.getDay(); var msg = ""; switch (jour) { case 1: msg = "C'est lundi"; break; case 0: case 6: msg = "C'est le week-end"; break; default: msg = "En semaine"; break; } document.getElementById("message").innerHTML=msg; </script> </body> </html>
Exemple : calcul de frais de port à un seuil.
var port= montant >= 100? 0 : 6.9;
Exemple : ajout d'un s à la fin d'un mots en fonction de la valeur d'un nombre
console.log("Votre devis comporte " + nb + " article" + (nb>1 ? "s" : ""));
Une variable peut recevoir le résultat d'une expression de test de condition.
Exemple
var estMajeur = age >= 18;
Exemple
if (nbArticle) { msg = "Il y a " + nbArticles + "articles (s)dans le panier."; } else { msg = "Le panier est vide." }
Exemples
var nb = 5; nb == 5; // true nb == 6; // false nb == "5"; // true (comportement dû au typage faible, est annulé si on utilise "===") nb == "05.00"; // true (idem) nb = 10 / 2; // true
Exemples
var nb = 5; nb == 5; // true nb == "5"; // true nb === "5"; // false
Exemples
// Egalités faibles console.log(null == false) // false console.log(null == undefined) // true // Egalités strictes console.log(null === false) // false console.log(null === undefined) // false // Affectations et types var nonNull = null, nonNullBis = null; console.log(typeof nonNull) // object console.log(nonNull === nonNullBis) // true
Les combinaisons de condition sont réalisées avec les opérateurs :
Exemples
if ((a == 1) && (b == 2)) { } if ((a != 1) && (b == 2)) { } if ((a == 1) || (b == 2)) { } if ((a != 1) || (b == 2)) { } if ((a == 0) || ((a == 1) && (b == 2))) { }
Une inversion de sens simplifie parfois la syntaxe et améliore la compréhension d'une condition.
Exemples
// La condition ci-dessous : if ((a != 1) || (b != 2)) { } // peut être remplacée par if ((a == 1) && (b == 2)) { }