L'operatore JavaScript Ternary come scorciatoia per istruzioni If / Else

L'operatore ternario condizionale in JavaScript assegna un valore a una variabile in base a una condizione ed è l'unico operatore JavaScript che accetta tre operandi.

L'operatore ternario è un sostituto di un Se dichiarazione in cui sia il Se e altro le clausole assegnano valori diversi allo stesso campo, in questo modo:

if (condizione)
risultato = 'qualcosa';
altro
risultato = 'qualcosa';

L'operatore ternario accorcia questa istruzione if / else in una singola istruzione:

risultato = (condizione)? "qualcosa": "qualcosa"; 

Se condizione è vero, l'operatore ternario restituisce il valore della prima espressione; in caso contrario, restituisce il valore della seconda espressione. Consideriamo le sue parti: 

  • Innanzitutto, crea la variabile a cui desideri assegnare un valore, in questo caso, risultato. La variabile risultato avrà un valore diverso a seconda della condizione.
  • Si noti che sul lato destro (ovvero l'operatore stesso), il condizione è il primo.
  • Il condizione è sempre seguito da un punto interrogativo (?), che in pratica può essere letto come "era vero?"
  • I due possibili risultati arrivano per ultimi, separati da due punti (:).

Questo uso dell'operatore ternario è disponibile solo quando l'originale Se L'istruzione segue il formato mostrato sopra, ma questo è uno scenario abbastanza comune e l'uso dell'operatore ternario può essere molto più efficiente.

Esempio di operatore ternario

Diamo un'occhiata a un vero esempio.

Forse devi determinare quali bambini hanno l'età giusta per frequentare la scuola materna. Potresti avere un'istruzione condizionale come questa:

età var = 7;
var kindergarten_eligible;
 
if (età> 5) 
kindergarten_eligible = "Abbastanza vecchio";

altro
kindergarten_eligible = "Troppo giovane";

Utilizzando l'operatore ternario, è possibile abbreviare l'espressione per:

var kindergarten_eligible = (età < 5) ? "Too young" : "Old enough";

Questo esempio, ovviamente, restituirebbe "Abbastanza vecchio".

Valutazioni multiple