Per controllare correttamente il flusso, è importante capire quali tipi di valori sono “true” e quale “false”. A volte, alcuni valori possono sembrare una cosa ma alla fine finisce per essere un altro.
valori che restituiscono true (true)
'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
valori che restituiscono 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 . Variabili condizionali utilizzando l’operatore ternario
A volte si desidera impostare il valore di una variabile a seconda di una determinata condizione. Per farlo è possibile utilizzare una dichiarazione if
/ else
, tuttavia in molti casi è più conveniente utilizzare l’operatore ternario.
L’operatore ternario
// establecer a foo igual a 1 si bar es verdadero;// caso contrario, establecer a foo igual a 0var foo = bar ? 1 : 0;
L’operatore ternario può essere utilizzato senza restituire un valore alla variabile, Tuttavia, questo utilizzo è generalmente disapprovato.
2.5.2. Istruzione Switch
Invece di utilizzare una serie di dichiarazioni if
/ else
/ else if
/ else
, a volte può essere utile usare la dichiarazione switch
.
Un’istruzione 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;}
le dichiarazioni switch
Sono poco usati in JavaScript, perché lo stesso comportamento è possibile ottenerlo creando un oggetto, che ha più potenziale poiché è possibile riutilizzarlo, usarlo per eseguire test, ecc. Ad esempio:
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();}
Più tardi il concetto di oggetti sarà compreso.