back to top

L’operatore ternario di Javascript

Oltre ai costrutti if … else if … else … e switch esiste anche una terza sintassi Javascript attraverso la quale è possibile incanalare il flusso di programma a seconda che una data condizione si verifichi oppure no. Questa sintassi è nota come operatore ternario e consiste in un modo "compatto" attraverso il quale scrivere un’istruzione condizionale.

E’ bene precisare che questo tipo di sintassi condizionale Javascript è molto comoda ed utile se si devono affrontare condizioni semplici del tipo if… else… mentre è assolutamente meno adatta a controlli complessi ed articolati, anche perchè questo tipo di sintassi si scrive su una linea singola e non si può andare a capo.

Vediamo la sintassi dell’operatore ternario in Javascript:

condizione ? istruzione1; : istruzione2;

Possiamo tradurre questa sintassi in questo modo: se la condizione è vera esegui l’istruzione n1., in caso contrario esegui l’istruzione n2.

Possiamo dire, dunque, che il simbolo punto interrogativo (?) che segue alla condizione equivale ad una if ed i due punti (:) ad un else.

Vediamo un esempio pratico:

var piove = false;
document.write(piove == true ? 'Fuori piove' : 'Non server l\'ombrello');

Nell’esempio qui sopra abbiamo utilizzato una sola condizione (piove == true) ma nessuno ci vieta di utilizzare, anche con l’operatore ternario, delle comdizioni composite, ad esempio:

var piove = false;
var freddo = true;
document.write(piove == true && freddo == true ? 'Piove e fa freddo' : 'Ho visto giornate peggiori');

Da segnalare, infine, che è possibile combinare tra loro due o più operatori ternari per gestire situazioni più complesse, ad esempio:

var piove = false;
var sole = true;
document.write(piove == true ? 'Fuori piove' : (sole == true ? 'Che bella giornata!' : 'Piuttosto nuvoloso'));

In questo caso il primo operatore (cioè quello più esterno) verifica il valore della variabile "piove", mentre il secondo (che si attiva solo se questa prima variabile è false) effettua un controllo sulla seconda variabile "sole" per decidere quale frase stampare a video.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).