Visit Mozilla.org

Référence de JavaScript 1.5 Core:Instructions:if...else

Un article de MDC.


Sommaire

[modifier] Résumé

Exécute une instruction si une condition spécifiée est vraie. Dans le cas contraire, une autre instruction peut être exécutée.

Instruction
Implémentation : JavaScript 1.0, NES 2.0
Version ECMA : ECMA-262

[modifier] Syntaxe

if (condition)
   instruction1
[else
   instruction2]

[modifier] Paramètres

condition 
Une expression qui sera évaluée à true ou false.
instruction1 
Instruction qui sera exécutée si condition est évaluée à true. Il peut s'agir de n'importe quelle instruction, y compris une autre instruction if imbriquée. Pour exécuter plusieurs instructions, utilisez un bloc ({ … }) pour les regrouper.
instruction2 
Instruction qui sera exécutée si condition est évaluée à false et que la clause else est présente. Il peut s'agir de n'importe quelle instruction, y compris un bloc d'instructions ou une autre instruction if.

[modifier] Description

Plusieurs instructions if...else peuvent être imbriquées pour créer une clause else if :

if (condition1)
   instruction1
else if (condition2)
   instruction2
else if (condition3)
   instruction3
...
else
   instructionN

Pour voir comment cela fonctionne, voici à quoi cela ressemblerait si les instructions étaient indentées de la manière habituelle :

if (condition1)
   instruction1
else
   if (condition2)
      instruction2
   else
      if (condition3)
...

Pour exécuter plusieurs instructions dans une clause, utilisez un bloc ({ … }) pour les regrouper. En général, il vaut mieux toujours utiliser des bloc, surtout lorsque plusieurs instructions if sont imbriquées :

if (condition) {
   instructions1
} else {
   instructions2
}

Ne confondez pas les valeurs primitives booléennes true et false avec les valeurs true et false des objets Boolean. Toute valeur qui n'est pas undefined, null, 0, NaN ou une chaîne vide (""), et tout objet, même un objet Boolean dont la valeur est false est évalué à true lorsqu'il est passé à une instruction conditionnelle. Par exemple :

var b = new Boolean(false);
if (b) // cette condition est évaluée à true

[modifier] Exemples

[modifier] Exemple : utilisation de if...else

if (cipher_char == from_char) {
   result = result + to_char;
   x++;
} else
   result = result + clear_char;

[modifier] Exemple : assignation dans l'expression conditionnelle

Il est recommandé de ne pas utiliser d'assignations simples dans une expression conditionnelle, parce que l'assignation peut être confondue avec un test d'égalité en relisant le code. Par exemple, évitez d'utiliser ce genre de code :

if (x = y) {
   /* faire quelque chose */
}

Si vous avez besoin d'utiliser une assignation dans une expression conditionnelle, une pratique répandue est d'ajouter des parenthèses supplémentaires autour de l'assignation. Par exemple :

if ((x = y)) {
   /* faire quelque chose */
}