Para controlar o fluxo correctamente, é importante entender que tipos de valores son “verdadeiros” e que “falsos”. Ás veces, algúns valores poden parecer unha cousa, pero ao final acaban sendo outro.
Valores que devolven a verdadeira (verdadeira)
'0'; // una cadena de texto cuyo valor sea 0'any string'; // cualquier cadena; // un array vacío{}; // un objeto vacío1; // cualquier número distinto a cero
Valores que devolven false (false)
0;''; // una cadena vacíaNaN; // la variable JavaScript "not-a-number" (No es un número)null; // un valor nuloundefined; // tenga cuidado -- indefinido (undefined) puede ser redefinido
2.5.1 .. Variables condicionales usando o operador ternario
Ás veces quere configurar o valor dunha variable en función dunha determinada condición. Para facelo pode usar unha declaración if
/ else
, con todo, en moitos casos, é máis conveniente usar o operador ternario.
O operador ternario
// establecer a foo igual a 1 si bar es verdadero;// caso contrario, establecer a foo igual a 0var foo = bar ? 1 : 0;
O operador ternario pode ser usado sen devolver un valor á variable, Non obstante, este uso é xeralmente desaprobado.
2.5.2. Declaración de interruptor
No canto de usar unha serie de declaracións if
/ else
/ else if
/ else
, ás veces pode ser útil usar a declaración switch
.
unha declaración de interruptor
switch (foo) { case 'bar': alert('el valor es bar'); break; case 'baz': alert('el valor es baz'); break; default: alert('de forma predeterminada se ejecutará este código'); break;}
as declaracións switch
Son pouco usados en JavaScript, porque o mesmo comportamento é posible obtelo creando un obxecto, que ten máis potencial xa que é posible reutilizalo, usalo para realizar probas, etc. Por exemplo:
var stuffToDo = { 'bar' : function() { alert('el valor es bar'); }, 'baz' : function() { alert('el valor es baz'); }, 'default' : function() { alert('de forma predeterminada se ejecutará este código'); }};if (stuffToDo) { stuffToDo();} else { stuffToDo();}
máis tarde o concepto de obxectos será abarcado.