IF
L'instruction conditionnelle Javascript IF
L'instruction Javascript IF sert à réaliser un test.
if(condition) {
instructions;
}
else {
instructions;
}
Exemple de if avec une boîte de dialogue confirm (avec les boutons oui / non):
<script>
let suite = confirm("Voulez-vous poursuivre ?");
if (suite === true) {
alert ("Ok, c'est parti!");}
else {
alert("Bon, tant-pis...");
}
</script>
Même exemple mais avec l'opérateur ternaire (le if en version light):
<script>
let suite = confirm("Voulez-vous poursuivre ?");
(suite == true) ? alert ("Ok, c'est parti!") : alert("Bon, tant-pis...");
</script>
Il est possible d'imbriquer les if. Exemple avec 2 boîtes de dialogue confirm :
<script>
let reponse = confirm("Aimez-vous le JavaScript ?");
let suite = confirm("Voulez-vous poursuivre ?");
if (reponse === true) {
if (suite === true) {
alert ("Ok, c'est parti!");}
else {
alert("Bon, tant-pis...");
}
}
else {
alert("Ben quoi? C'est pourtant super le JavaScript...");
}
</script>
Exemple d'Else if avec une boîte de dialogue Prompt. Afficher la valeur d'une réduction obtenue par calcul :
<script>
let commande = prompt("Quel est le montant de la vente :", "Saisissez ici le montant de la commande");
if (commande < 1000) {
alert("Le montant de la vente est insuffisant pour prétendre à une réduction");
}
else if(commande < 2500) {
réduction = commande*0.05;
}
else {
réduction = commande*0.1;
}
alert("Le montant de la réduction\npour une commande de "+ commande + " €\nest de "+ réduction + " €");
</script>
Note : la concaténation dans un alert doit-être réalisé avec le signe plus (+). De plus, le "\n" utilisé dans le dernier alert ci-dessus permet un retour à la ligne dans un alert.
L'opérateur conditionnel
L'opérateur (ternaire) conditionnel est le seul opérateur JavaScript qui comporte trois opérandes. Cet opérateur est fréquemment utilisé comme raccourci pour la déclaration de Instructions if...else.Syntaxe : condition ? exprSiVrai : exprSiFaux
<script>
let stop = false;
let age = 16;
age > 18 ? document.location.assign("continue.html") : stop = true;
</script>