if...else (Instrucción)

Actualización: noviembre 2007

Ejecuta de forma condicional un grupo de instrucciones, dependiendo del valor de una expresión.

if (condition)
      statement1
[else
      statement2] 

Argumentos

  • condition
    Necesario. Expresión booleana. Si el valor de condition es null o undefined, se trata como False.

  • statement1
    Necesario. Instrucción que se va a ejecutar si condition es True. Puede ser una instrucción compuesta.

  • statement2
    Opcional. Instrucción que se va a ejecutar si condition es False. Puede ser una instrucción compuesta.

Comentarios

Generalmente es una buena práctica encerrar statement1 y statement2 entre llaves ({}) en aras de una mayor claridad y para evitar errores inadvertidos.

Ejemplo

En el ejemplo siguiente, se puede pensar que else se utiliza con la primera instrucción if pero, en realidad, se utiliza con la segunda.

if (x == 5)
   if (y == 6)
      z = 17;
else
   z = 20;

Si se cambia el código como se indica a continuación se elimina cualquier ambigüedad:

if (x == 5)
   {
   if (y == 6)
      z = 17;
   }
else
   z = 20;

De forma similar, si se desea agregar una instrucción a statement1 y no se usan llaves, se puede crear un error involuntariamente:

if (x == 5)
   z = 7;
   q = 42;
else
   z = 19;

En este caso, existe un error de sintaxis, porque hay más de una instrucción entre las instrucciones if y else. Las llaves son necesarias a ambos lados de las instrucciones entre if y else.

Requisitos

Versión 1

Vea también

Referencia

Operador condicional ternario (?:)