Operatore Condizionale in JavaScript

Concetti Chiave
  • L'operatore condizionale è l'unico operatore ternario in JavaScript, utilizzato per valutare una condizione e restituire uno dei due valori.
  • La sintassi dell'operatore condizionale è condizione ? valoreSeVero : valoreSeFalso.
  • Gli operandi dell'operatore condizionale possono essere di qualsiasi tipo.
  • L'operatore condizionale è spesso utilizzato per assegnare valori a variabili in modo conciso.
  • Rappresenta una scorciatoia rispetto all'istruzione if.

L'Operatore Condizionale

L'operatore condizionale è l'unico operatore ternario (tre operandi) in JavaScript ed è a volte chiamato proprio operatore ternario.

Questo operatore è talvolta scritto ?:, anche se non appare esattamente così nel codice. Poiché questo operatore ha tre operandi, il primo va prima del ?, il secondo va tra il ? e i :, e il terzo va dopo i :. È utilizzato così:

x > 0 ? x : -x     // Il valore assoluto di x

Gli operandi dell'operatore condizionale possono essere di qualsiasi tipo. Il primo operando è valutato e interpretato come un booleano. Se il valore del primo operando è truthy, allora il secondo operando è valutato, e il suo valore è restituito. Altrimenti, se il primo operando è falsy, allora il terzo operando è valutato e il suo valore è restituito. Solo uno tra il secondo e terzo operando è valutato; mai entrambi.

Mentre è possibile ottenere risultati simili usando l'istruzione if (che studieremo più avanti), l'operatore ?: spesso fornisce una comoda scorciatoia.

Ecco un utilizzo tipico, che controlla per essere sicuri che una variabile sia definita (e abbia un valore significativo, truthy) e la usa oppure fornisce un valore predefinito in caso contrario:

saluto = "ciao " + (nomeUtente ? nomeUtente : " come stai?");

Questo è equivalente a, ma più compatto di, la seguente istruzione if:

saluto = "ciao ";
if (nomeUtente) {
    saluto += nomeUtente;
} else {
    saluto += " come stai?";
}