if...else

Resumen

Ejecuta una sentencia si una condici贸n espec铆ficada es evaluada como verdadera. Si la condici贸n es evaluada como falsa, otra sentencia puede ser ejecutada.

Sintaxis

if (condici贸n) sentencia1 [else sentencia2]
condici贸n
Una expresi贸n que puede ser evaluada como verdadera o falsa.
sentencia1
Sentencia que se ejecutar谩 si condici贸n es evaluada como verdadera. Puede ser cualquier sentencia, incluyendo otras sentenccias if anidadas. Para ejecutar m煤ltiples sentencias, use una sentencia block ({ ... }) para agruparlas.
sentencia2
Sentencia que se ejecutar谩 si condici贸n se eval煤a como falsa, y exista una cl谩usula else. Puede ser cualquier sentencia, incluyendo sentencias block y otras sentencias if anidadas.

Descripci贸n

Multiples sentencias if...else pueden ser anidadas para crear una cl谩usula else if:

if (condici贸n1)
   sentencia1
else if (condici贸n2)
   sentencia2
else if (condici贸n3)
   sentencia3
...
else
   sentenciaN

Para entender como esto funciona, as铆 es como se ver铆a si el anidamiento hubiera sido indentado correctamente:

if (condici贸n1)
   sentencia1
else
   if (condici贸n2)
      sentencia2
   else
      if (condici贸n3)
        ...

Para ejecutar varias sentencias en una cl谩usula, use una sentencia block ({ ... }) para agruparlas. Generalmente, es una buena pr谩ctica usar siempre sentencias block, especialmente en c贸digo que incluya sentencias if anidadas:

if (condici贸n) {
   sentencia1
} else {
   sentencia2
}

No confundir los valores primitivos true y false con los valores true y false del objeto Boolean. Cualquier valor diferente de undefined, null, 0, -0, NaN, o la cadena vac铆a (""), y cualquier objecto, incluso un objeto Boolean cuyo valor es false, se eval煤a como verdadero en una sentencia condicional. Por ejemplo:

var b = new Boolean(false);
if (b) // Esta condici贸n se eval煤a como verdadera

Ejemplos

Ejemplo: Uso de if...else

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

Ejemplo: Asignaci贸n en una expresi贸n condicional

Es aconsejable no usar asignaciones simples en una expresi贸n condicional, porque la asignaci贸n puede ser confundida con igualdad (operador relacional) cuando se lee el c贸digo. Por ejemplo, no use el siguiente c贸digo:

if (x = y) {
   /* sentencia */
}

Si realmente necesita una asignaci贸n dentro de una exprsi贸n condicional, una pr谩ctica com煤n es poner par茅ntesis adicionales alrededor del la asignaci贸n, por ejemplo:

if ((x = y)) {
   /* sentencia */
}

Vea Tambi茅n