Skinny site

... un modo di esprimersi

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Code Snippets Javascript L'operatore condizionale (?:) detto anche ternario

L'operatore condizionale (?:) detto anche ternario

E-mail Stampa PDF
Valutazione attuale: / 0
ScarsoOttimo 

Questo operatore spesso viene sacrificato in favore dell'operatore condizionale if che risulta effettivamente più leggibile, tuttavia con un po' di dimestichezza potrebbe tornare utile anche questo operatore. Vediamo come funziona.
Questo operatore ha tre operandi, il primo precede il "?", il secondo sta tra il "?" e i ":" mentre il terzo sta dopo i ":". Il primo operando deve contenere un valore booleano, di solito il risultato di un'operazione di confronto, mentre il secondo e il terzo operando possono avere un qualsiasi valore. Il valore restituito dell'operatore ternario dipende dal risultato restituito dalla condizione del primo operando, se il valore è true il valore restituito sarà quello del secondo operando se invece è false il valore restituito sarà quello del terzo operando.
Un esempio utile a dimostrare l'utilizzo di questo operatore può essere fatto quando si inizializza una variabile e si desidera che abbia un valore di default:

var titolo = "Dott. ";
var nome = "Rossi";

var saluto = "Buon giorno " + ((titolo != null) ? titolo : "Sig. ") + nome;
alert(saluto)

//metto a null la variabile titolo per vedere il comportamento dell'operatore in questo caso
var titolo = null;

var saluto = "Buon giorno " + ((titolo != null) ? titolo : "Sig. ") + nome;
alert(saluto)

//se avessimo scritto questa riga di codice
//var saluto = "Buon giorno " + ((titolo != null) ? titolo : "Sig. ") + nome;
//con l'operatore if sarebbe stata così:
if (titolo != null)
saluto = "Buon giorno " + titolo + nome;
else
saluto = "Buon giorno Sig. " + nome;

alert(saluto)
//forse più chiaro ma più prolisso
Ultimo aggiornamento Mercoledì 21 Luglio 2010 12:14