Para controlar o fluxo corretamente, é importante entender quais tipos de valores são “verdadeiros” e quais “falsos”. Às vezes, alguns valores podem parecer uma coisa, mas no final eles acabam sendo outra.
Valores que retornam verdadeiro (verdadeiro)
'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 retornam 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 . Variáveis condicionais usando o operador ternário
Às vezes você deseja definir o valor de uma variável dependendo de uma determinada condição. Para que você possa usar uma declaração if
/ else
No entanto, em muitos casos, é mais conveniente usar o operador ternário.
o operador ternário
// establecer a foo igual a 1 si bar es verdadero;// caso contrario, establecer a foo igual a 0var foo = bar ? 1 : 0;
O operador ternário pode ser usado sem retornar um valor à variável, No entanto, esse uso é geralmente reprovado.
2.5.2. Declaração de comutação
em vez de usar uma série de declarações if
/ else
/ else if
/ else
, às vezes pode ser útil usar a declaração switch
.
uma instrução de switch
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 declarações switch
Eles são pouco usados em JavaScript, porque o mesmo comportamento é possível para obtê-lo criando um objeto, que tem mais potencial, uma vez que é possível reutilizá-lo, usá-lo para realizar testes, 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();}
mais tarde o conceito de objetos será abrangido.