Ciao a tutti ragazzi, spero che qualcuno possa levarmi il dubbio . Ho scritto il seguente semplice codice per testare le mie conoscenze:
vara = 4;
varrisultato = (a && true); // restituisce true
console.log(risultato);
varb = 0;
varrisultato2 = (b && true); // restituisce 0
Qui qualcosa mi sfugge: come mai nel primo caso restituisce true e nell'altro restituisce 0 ?
So che l'interprete javascript effettua una conversione di tipo ...
nel primo caso il valore della variabile a , è stato convertito come true e fin qui ci siamo... nel secondo esempio mi aspettavo un false ed invece non è così. Qualcuno sa spiegarmi il motivo di questo comportamento dell'interprete? E' come se quel true fosse stato convertito in 1 e, successivamente , sia stato fatto un and logico fra i due operatori...
Grazie mille!
P.S.: non me ne vogliano alcuni... ho erroneamente scritto "compilatore" nel titolo, anzichè interprete![]()