L'instruction if
exécute une instruction si une condition donnée est vraie. Si la condition n'est pas vérifiée, il est possible d'utiliser une autre instruction.
Syntaxe
if (condition) instruction1 [else instruction2]
condition
- Une expression qui est évaluée à
true
oufalse
.
instruction1
- L'instruction qui est exécutée si la condition est vérifiée (i.e. est évaluée à
true
). Cette instruction peut être n'importe quelle instruction valide, y compris une imbrication d'autres instructionsif
. Pour exécuter plusieurs instructions, on pourra utiliser un bloc d'instructions ({ ... }) qui permet de les regrouper. Pour n'exécuter aucune instruction, on pourra utiliser l'instruction vide.
instruction2
- Si la clause
else
existe, l'instruction qui est exécutée si lacondition
est évaluée àfalse
. Comme pour la première, cette instruction peut être n'importe quelle instruction valide : une autre instructionif
imbriquée, un bloc d'instruction, une instruction vide, etc.
Description
Plusieurs instructions if...else
peuvent être imbriquées afin de créer une structure else if
(on notera qu'il n'y a pas de mot-clé elseif
en JavaScript).
if (condition1) instruction1 else if (condition2) instruction2 else if (condition3) instruction3 ... else instructionN
Si on indente correctement le code, on retrouve la structure exactement équivalente :
if (condition1) instruction1 else if (condition2) instruction2 else if (condition3) ...
Afin d'exécuter plusieurs instructions, on utilisera un bloc d'instructions ({ ... }
) pour regrouper les instructions souhaitées. Utiliser les blocs d'instructions est une bonne façon d'organiser son code, surtout lorsque celui-ci comporte des instructions conditionnelles imbriquées.
if (condition) { instructions1 } else { instructions2 }
Attention à ne pas confondre les valeurs booléennes « primitives » true
et false
avec les valeurs true et false d'un objet Boolean
. Toute valeur qui n'est pas undefined
, null
, 0
, NaN
ou la chaîne vide (""
), et tout objet, y compris un objet Boolean
dont la valeur est false, seront évalués à true
lors d'une instruction conditionnelle if
. Ainsi :
var b = new Boolean(false); if (b) // la condition sera évaluée à true
Exemples
Utiliser if...else
if (cipher_char == from_char) { result = result + to_char; x++; } else { result = result + clear_char; }
Utiliser else if
Bien qu'il n'y ait pas de mot-clé elseif dans le langage JavaScript, il est possible d'imbriquer des instructions if...else à la suite les une des autres en plaçant un espace entre else et le début de l'instruction if imbriquée :
if (x > 5){ // faire quelque chose } else if (x > 50) { // faire autre chose } else { // faire encore autre chose }
Affectation de variable dans l'expression conditionnelle
Il est conseillé de ne pas utiliser d'affectation au sein des expressions conditionnelles. En effet, l'affectation peut être confondue avec un test d'égalité lorsqu'on analyse le code. Il ne faut donc pas utiliser le code suivant (bien qu'il fonctionne) :
if (x = y) { /* exécuter les instructions */ }
S'il est nécessaire d'effectuer une telle affectation, une pratique courante consiste à ajouter des parenthèses de cette manière afin d'alerter le lecteur du code (exemple à utiliser) :
if ((x = y)) { /* exécuter les instructions */ }
Spécifications
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |