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
- Come funziona l'istruzione Switch
- Diagramma di flusso dell'istruzione Switch
- Blocchi di codice comuni
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 del
switch>l'istruzione viene valutata una volta. - Confronto : Il valore dell'espressione viene confrontato con ciascuno
case>etichetta (usando l'uguaglianza rigorosa===>). - Esecuzione : Se viene trovata una corrispondenza, il blocco di codice corrispondente segue la corrispondenza
case>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 file
break>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 : IL
default>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>.- IL
switch>la dichiarazione valutaday>. - Da
day>È3>, ILcase 3>il blocco viene eseguito, assegnando'Wednesday'>AdayName>. - IL
break>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'>.- IL
switch>l'istruzione valuta il valore digrade>. - Da
grade>È'B'>, il blocco di codice seguentecase 'B':>viene eseguito. - IL
result>alla variabile viene assegnata la stringa'B (Average)'>. - IL
break>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'>.- IL
switch>l'istruzione valuta il valore digrade>. - Da
grade>partite'A'>, il blocco di codice seguentecase 'A':>viene eseguito, impostazioneresult>A'Grade is excellent'>. - IL
break>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.