Dichiarazione di commutazione JavaScript

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 di expression> .
  • break> l'istruzione termina il switch> dichiarazione. Senza di esso, l'esecuzione continuerà nel caso successivo.
  • Default> specifica il codice da eseguire se nessuno dei casi corrisponde a expression> .

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 file default> caso (se presente) o continua con l'istruzione successiva dopo il switch> bloccare.
  • Dichiarazione di interruzione : Dopo aver eseguito un blocco di codice, il file break> l'istruzione termina il switch> dichiarazione, evitando che l’esecuzione passi a casi successivi. Se break> 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 sotto default> 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 per 3> .
  • IL switch> la dichiarazione valuta day> .
  • Da day> È 3> , IL case 3> il blocco viene eseguito, assegnando 'Wednesday'> A dayName> .
  • IL break> l'istruzione termina il switch> 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 di grade> .
  • Da grade> È 'B'> , il blocco di codice seguente case 'B':> viene eseguito.
  • IL result> alla variabile viene assegnata la stringa 'B (Average)'> .
  • IL break> l'istruzione termina il switch> dichiarazione.
  • result> viene registrato sulla console, che restituisce 'B (Average)'> .

Interrompi la parola chiave

IL break> la parola chiave viene utilizzata per terminare l'esecuzione di un loop o a switch> dichiarazione.

parola chiave predefinita

IL default> la parola chiave viene utilizzata all'interno di a switch> istruzione come opzione di fallback quando nessuno dei case> le espressioni corrispondono al valore da valutare. Agisce in modo simile a else> dichiarazione in un if...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 di grade> .
  • Da grade> partite 'A'> , il blocco di codice seguente case 'A':> viene eseguito, impostazione result> A 'Grade is excellent'> .
  • IL break> l'istruzione termina il switch> 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.