logo

Dichiarazione di commutazione JavaScript

IL Dichiarazione di commutazione JavaScript valuta un'espressione ed esegue un blocco di codice in base ai casi corrispondenti. Fornisce un'alternativa alle lunghe catene if-else, migliorando la leggibilità e la manutenibilità, soprattutto quando si gestiscono più rami condizionali.

Tabella dei contenuti



Sintassi dell'istruzione Switch

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> è il valore che vuoi confrontare.
  • Case value1>,case value2>, ecc., rappresentano i possibili valori diexpression>.
  • break>l'istruzione termina ilswitch>dichiarazione. Senza di esso, l'esecuzione continuerà nel caso successivo.
  • Default>specifica il codice da eseguire se nessuno dei casi corrisponde aexpression>.

Come funziona l'istruzione Switch

  • Valutazione : L'espressione all'interno delswitch>l'istruzione viene valutata una volta.
  • Confronto : Il valore dell'espressione viene confrontato con ciascunocase>etichetta (usando l'uguaglianza rigorosa===>).
  • Esecuzione : Se viene trovata una corrispondenza, il blocco di codice corrispondente segue la corrispondenzacase>l'etichetta viene eseguita. Se non viene trovata alcuna corrispondenza, l'esecuzione passa al filedefault>caso (se presente) o continua con l'istruzione successiva dopo ilswitch>bloccare.
  • Dichiarazione di interruzione : Dopo aver eseguito un blocco di codice, il filebreak>l'istruzione termina ilswitch>dichiarazione, evitando che l’esecuzione passi a casi successivi. Sebreak>viene omesso, l'esecuzione continuerà al caso successivo (noto come fall-through).
  • Caso predefinito : ILdefault>caso è facoltativo. Se non viene trovata alcuna corrispondenza, il codice si blocca sottodefault>viene eseguito.

Diagramma di flusso dell'istruzione Switch

Esempio di istruzione Switch:

Qui stamperemo il nome del giorno il giorno 3.

Javascript
let day = 3; let dayName; switch (day) {  case 1:  dayName = 'Monday';  break;  case 2:  dayName = 'Tuesday';  break;  case 3:  dayName = 'Wednesday';  break;  case 4:  dayName = 'Thursday';  break;  case 5:  dayName = 'Friday';  break;  case 6:  dayName = 'Saturday';  break;  case 7:  dayName = 'Sunday';  break;  default:  dayName = 'Invalid day'; } console.log(dayName); // Output: Wednesday>

Produzione
Wednesday>

Spiegazione:

  • Day>è impostato per3>.
  • ILswitch>la dichiarazione valutaday>.
  • Daday>È3>, ILcase 3>il blocco viene eseguito, assegnando'Wednesday'>AdayName>.
  • ILbreak>l'istruzione termina ilswitch>dichiarazione, impedendo che l’esecuzione continui in altri casi.

Esempio di istruzione Switch:

Qui controlleremo il nostro voto utilizzando un caso di commutazione.



Javascript
let grade = 'B'; let result; switch (grade) {  case 'A':  result = 'A (Excellent)';  break;  case 'B':  result = 'B (Average)';  break;  case 'C':  result = 'C (Below than average)';  break;  default:  result = 'No Grade'; } console.log(result);>

Produzione
B (Average)>

Spiegazione:

  • Grade>viene assegnato il valore'B'>.
  • ILswitch>l'istruzione valuta il valore digrade>.
  • Dagrade>È'B'>, il blocco di codice seguentecase 'B':>viene eseguito.
  • ILresult>alla variabile viene assegnata la stringa'B (Average)'>.
  • ILbreak>l'istruzione termina ilswitch>dichiarazione.
  • result>viene registrato sulla console, che restituisce'B (Average)'>.

Interrompi la parola chiave

ILbreak>la parola chiave viene utilizzata per terminare l'esecuzione di un loop o aswitch>dichiarazione.

parola chiave predefinita

ILdefault>la parola chiave viene utilizzata all'interno di aswitch>istruzione come opzione di fallback quando nessuno deicase>le espressioni corrispondono al valore da valutare. Agisce in modo simile aelse>dichiarazione in unif...else>catena, fornendo un'azione predefinita da intraprendere quando non corrispondono altri casi specifici.

La posizione del caso predefinito non ha importanza:

Indipendentemente dal suo posizionamento, il caso predefinito viene eseguito solo se nessuna delle altre condizioni del caso viene soddisfatta. Quindi, inserirlo all'inizio, al centro o alla fine non cambia la logica di base (a meno che non si utilizzi una tecnica meno comune chiamata fall-through).



stamperemo il caso predefinito.

JavaScript
let day = 8; let dayName; switch (day) {  default:  dayName = 'Invalid day';  break;  case 1:  dayName = 'Monday';  break;  case 2:  dayName = 'Tuesday';  break;  case 3:  dayName = 'Wednesday';  break;  case 4:  dayName = 'Thursday';  break;  case 5:  dayName = 'Friday';  break;  case 6:  dayName = 'Saturday';  break;  case 7:  dayName = 'Sunday';  break;   } console.log(dayName);>

Produzione
Invalid day>

Blocchi di codice comuni

In alcuni casi, dobbiamo utilizzare lo stesso codice per più casi di commutazione. Vediamo un esempio di come farlo:

Blocchi di codice comuni Esempio:

Qui utilizzeremo gli stessi blocchi di codice per due diversi casi di interruttore.

Javascript
let grade = 'A' let result; switch (grade) {  case 'A':  result = 'Grade is excellent'  break;  case 'B':  result = 'Grade is good'  break;  case 'C':  result = 'Grade is Average '  break;  case 'D':  result = 'Grade is Poor'  break;  default:  text = 'NO grades achieved'; } console.log(result)>

Produzione
Grade is excellent>

Spiegazione:

  • Grade>viene assegnato il valore'A'>.
  • ILswitch>l'istruzione valuta il valore digrade>.
  • Dagrade>partite'A'>, il blocco di codice seguentecase 'A':>viene eseguito, impostazioneresult>A'Grade is excellent'>.
  • ILbreak>l'istruzione termina ilswitch>dichiarazione.
  • Result>viene registrato sulla console, che restituisce'Grade is excellent'>.

Nota: Se più casi di commutazione corrispondono a un valore, viene eseguito il primo.