Gli operatori di confronto che è possibile usare nella condizione dell'if sono:
Si noti che in JS (come in C) l'operatore di uguaglianza (==) è indicato diversamente dall'operatore di assegnazione (=). Essi hanno infatti due significati completamente differenti. Si consideri il seguente esempio:
Il significato dell'esempio, tradotto a parole, è: se il valore di a è uguale al valore di b, assegna a b il valore di a + 1.
Il fatto che l'assegnazione (=) non è un'uguaglianza (==) emerge con chiarezza da istruzioni del tipo:
var = var + 1;
L'espressione precedente infatti ha senso solo in un'assegnazione, poiché dal punto di vista matematico l'uguaglianza di var e di var + 1 sarebbe ovviamente impossibile.
Si noti che esistono due operatori di uguaglianza:
La differenza fra i due è che == effettua, se necessario, una conversione di tipo, prima di fare il confronto. Invece === non converte i tipi. Si consideri il caso seguente:
In questo caso il primo if viene verificato (e produce la visualizzazione "Sono uguali"): infatti l'operatore == effettua la conversione fra numero e stringa prima di fare il confronto. Il secondo if invece non è verificato, poiché === non effettua nessuna conversione di tipo.
Gli operatori logici, usati per concatenare più condizioni in un if, sono:
Ecco un esempio di concatenazione di due condizioni che verifica se num è compreso fra 0 e 10 e, in caso affermativo, lo incrementa di una unità:
Si presti attenzione al fatto che, se i valori da confrontare sono valori numerici, è opportuno convertirli prima (con la funzione Number): in caso contrario gli operatori di confronto confrontano l'ordine alfabetico delle stringhe e non i valori numerici, fornendo risultati errati.
Sito realizzato in base al template offerto da
http://www.graphixmania.it