Condicionales
Ademas de la breve introducción de la sentencia if
en el cap. 1, Javascript proporciona algunos otros mecanismos para las condiciones las cuales deberiamos revisar.
A veces es posible que se encuentre definiendo una serie de sentencia if...else...if
como la siguiente:
if (a == 2) {
// has algo
}
else if (a == 10) {
// has otra cosa
}
else if (a == 42) {
}
else {
}
Esta estructura funciona, pero es poco verboso ya que es necesario especificar la prueba de a
para cada caso. Aqui hay otra opcion, la sentencia switch
;
switch (a) {
case 2:
// do something
break;
case 10:
// do another thing
break;
case 42:
// do yet another thing
break;
default:
// fallback to here
}
La palabra break
es importante si usted quiere que solo una sentencia en determinado case
corra. Si se omite el break
de case
, y dicho case
concuerda o corre, la ejecución continuara hasta el siguiente case
independientemente de que case
conduerde. Esto es llamado "fall through" y a veces es útil/deseado:
switch (a) {
case 2:
case 10:
// some cool stuff
break;
case 42:
// other stuff
break;
default:
// fallback
}
Aqui si a
es 2
o 10
, ejecutara la sentencia "some cool stuff".
Otra forma de condicion en Javascript es el "operador condicional" a menudo llamado el "operador ternario". Es como una forma abreviada de una sentencia if... else
, tal como:
var a = 42;
var b = (a > 41) ? "hello" : "world";
// similar to:
// if (a > 41) {
// b = "hello";
// }
// else {
// b = "world";
// }
Si la prueba de la expresión a > 41
es verdadera, el resultado sera "hello"
, de otro modo la segunda cláusula sera asignada "world"
, y cualquiera sea el resultado este es asignado a b
.
El operador condicional no tiene que ser usado en una asignación, pero esta es la manera mas común de uso.