Torna al blog

Prendere decisioni utilizzando l'istruzione Switch in Javascript

Prendere decisioni utilizzando l'istruzione Switch in Javascript

Introduzione

Le istruzioni condizionali sono uno dei flussi di controllo più importanti in qualsiasi linguaggio di programmazione. Le usiamo per dettare il comportamento dell'esecuzione in base a una determinata condizione. In Javascript, i blocchi condizionali possono essere costruiti usando le istruzioni if, else if, else, e switch.

L'istruzione switch rende il flusso di controllo facile da leggere prendendo la decisione in base ad alcuni possibili risultati dell'espressione. A seconda del caso d'uso corrispondente, possono essere eseguiti uno o più blocchi di codice. Il controllo switch è simile all'istruzione else if. Tuttavia, switch ha una sintassi più leggibile. È anche ideale per gli scenari con molteplici risultati possibili.

In questo tutorial, ci concentreremo sull'istruzione switch in Javascript e la implementeremo per costruire strutture di controllo complesse. Impareremo anche come utilizzare le istruzioni break , case, e default all'interno del blocco switch per dirigere il flusso di controllo.

Utilizzo dell'istruzione Switch

L'istruzione switch funziona confrontando il valore di una variabile con le possibili espressioni. Quindi, esegue il blocco di codice corrispondente al risultato. La sintassi dell'istruzione switch  non è diversa da quella dell'istruzione if. In breve, la sintassi dell'istruzione switch si scrive come:

Di seguito è riportato un esempio dell'istruzione switch. Ha due casi o due possibili risultati insieme a un'opzione di fallback specificata dalla parola chiave default. Questa opzione di fallback viene eseguita quando l'esecuzione si conclude o quando non viene trovato alcun caso corrispondente:

Il codice sopra viene eseguito come segue:

  1. Innanzitutto, viene valutata l'espressione.

  2. Successivamente, il risultato dell'espressione viene confrontato con case x. Se il valore corrisponde, viene eseguito il blocco di codice sotto case x .

  3. Se l'espressione non corrisponde a case x, allora viene confrontato case y. Se viene trovata la corrispondenza, allora viene eseguito il codice di case y .

  4. Infine, se né case xcase y corrispondono, allora viene eseguito il codice default e il controllo esce dal blocco switch .

Esempio pratico

Per comprendere l'istruzione switch, diamo un'occhiata a un esempio pratico. Estrarremo il valore del giorno della settimana per la data corrente, utilizzando il metodo getDay() dell'oggetto Date di Javascript. Questo valore è un numero, per la domenica fino a 6 che corrisponde al sabato. Lo valuteremo rispetto ai valori per determinare quale giorno della settimana sia:

Successivamente, invieremo questo valore all'istruzione switch. L'istruzione switch verrà eseguita dall'alto verso il basso per confrontarlo con i casi e determinare quale giorno della settimana sia. Una volta trovato il caso, il comando break interromperà il blocco switch impedendo di continuare a valutare le istruzioni:

A seconda del valore restituito dal metodo getDate(), questo verrà confrontato con i vari casi uno alla volta, partendo dall'alto. L'output sarà diverso a seconda del giorno in cui viene eseguito il codice. Il blocco di codice default è inserito in modo che, se nessun caso corrisponde, sia possibile gestire questo scenario. Tuttavia, in questo codice, default non verrà mai chiamato poiché i giorni della settimana sono in numero finito.

L'istruzione break assicura che, una volta trovato il caso corrispondente, non vengano controllati altri casi e il controllo esca dall'istruzione switch. Questo rende il programma più efficiente e veloce.

Verificare intervalli di valori in uno Switch

Fino ad ora abbiamo esaminato casi d'uso molto semplici. Tuttavia, a volte potrebbe essere necessario effettuare un test su un intervallo di valori anziché su un singolo valore. Possiamo farlo impostando la nostra espressione su true ed eseguendo un'operazione all'interno di ciascuna istruzione case.

Dimostriamo questo caso d'uso con l'aiuto di un esempio. Prenderemo un numero e lo convertiremo in un voto utilizzando la seguente categorizzazione:

  • Un voto pari o superiore a 90 è un A

  • Un voto da 80 a 89 è un B

  • Un voto da 70 a 79 è un C

  • Un voto da 60 a 69 è un D

  • Un voto pari o inferiore a 59 è un F

Scriveremo queste istruzioni come istruzioni switch. Di seguito è riportato il codice:

A differenza degli esempi di codice sopra, qui abbiamo impostato l'espressione tra parentesi come true. Di conseguenza, qualsiasi istruzione case corrisponda al valore true, verrà eseguita. Proprio come l'istruzione else if, verrà eseguita la prima istruzione che corrisponde al valore specificato. Qui l'output sarà B, nonostante il fatto che anche C e D corrispondano all'espressione.

Casi multipli

Se si desidera avere più di un case con lo stesso blocco di codice, è anche possibile. Questo è analogo alla condizione o nell'istruzione if. In tali scenari, possiamo specificare più di un case per ciascun blocco di codice.

Per illustrare questo concetto, forniremo un esempio con i mesi dell'anno. Categorizzeremo questi mesi nelle stagioni dell'anno. Per prima cosa, useremo il nuovo metodo Date() per trovare il numero corrispondente al mese corrente e lo assegneremo alla variabile month. Il metodo Date().getMonth() restituisce un numero da 0  a 11, con 0 che corrisponde a gennaio e 11 associato a dicembre.

Categorizzeremo utilizzando la seguente specifica:

  • Inverno: gennaio, febbraio e marzo

  • Primavera: aprile, maggio e giugno

  • Estate: luglio, agosto e settembre

  • Autunno: ottobre, novembre e dicembre

Ecco come si presenterà il codice:

Quando il codice sopra viene eseguito, a seconda del mese, il nome della stagione verrà mostrato sulla console.

Conclusione

In questo tutorial, abbiamo mostrato come utilizzare l'istruzione switch nelle applicazioni Javascript. Abbiamo anche applicato l'istruzione switch a un intervallo e a casi multipli insieme alla parola chiave default. Se vuoi saperne di più su Javascript, puoi consultare i seguenti tutorial:

Buona programmazione!

author

Shreyas Patil

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.