Declarație de comutare JavaScript

Declarație de comutare JavaScript

The Declarație de comutare JavaScript evaluează o expresie și execută un bloc de cod bazat pe cazuri de potrivire. Oferă o alternativă la lanțurile lungi if-else, îmbunătățind lizibilitatea și mentenabilitatea, în special atunci când se manipulează mai multe ramuri condiționate.

Cuprins

Sintaxa instrucțiunii Switch

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; } 
  • Expression> este valoarea pe care doriți să o comparați.
  • Case value1> , case value2> , etc., reprezintă valorile posibile ale expression> .
  • break> declarația încheie switch> afirmație. Fără aceasta, execuția va continua în cazul următor.
  • Default> specifică codul de rulat dacă niciunul dintre cazuri nu se potrivește cu expression> .

Cum funcționează declarația Switch

  • Evaluare : Expresia din interiorul switch> afirmația este evaluată o dată.
  • Comparaţie : Valoarea expresiei este comparată cu fiecare case> etichetă (folosind egalitate strictă ===> ).
  • Execuţie : Dacă se găsește o potrivire, blocul de cod corespunzător după potrivire case> se execută eticheta. Dacă nu se găsește nicio potrivire, execuția trece la default> caz (dacă este prezent) sau continuă cu următoarea afirmație după switch> bloc.
  • Break Statement : După executarea unui bloc de cod, break> declarația încheie switch> declarație, împiedicând execuția să cadă în cazurile ulterioare. Dacă break> este omis, execuția va continua până la următorul caz (cunoscut sub numele de fall-through).
  • Casă implicită : The default> carcasa este optionala. Dacă nu se găsește nicio potrivire, se blochează codul de sub default> este executat.

Diagrama de flux a declarației Switch

Exemplu de declarație Switch:

Aici, vom tipări numele zilei în ziua 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 

Ieșire
Wednesday 

Explicaţie:

  • Day> este setat sa 3> .
  • The switch> declarația evaluează day> .
  • De cand day> este 3> , cel case 3> se execută blocul, atribuirea 'Wednesday'> la dayName> .
  • The break> declarația se încheie switch> declarație, împiedicând execuția să continue în alte cazuri.

Exemplu de declarație Switch:

Aici, ne vom verifica nota folosind o carcasă de comutator.

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); 

Ieșire
B (Average) 

Explicaţie:

  • Grade> i se atribuie valoarea 'B'> .
  • The switch> declarația evaluează valoarea lui grade> .
  • De cand grade> este 'B'> , blocul de cod care urmează case 'B':> este executat.
  • The result> variabilei i se atribuie șirul 'B (Average)'> .
  • The break> declarația încheie switch> afirmație.
  • result> este conectat la consolă, care iese 'B (Average)'> .

Rupe cuvânt cheie

The break> cuvântul cheie este folosit pentru a termina execuția unei bucle sau a switch> afirmație.

cuvânt cheie implicit

The default> cuvântul cheie este folosit în cadrul a switch> declarație ca opțiune de rezervă atunci când niciunul dintre case> expresiile se potrivesc cu valoarea evaluată. Acționează similar cu else> declarație într-un if...else> lanț, oferind o acțiune implicită de luat atunci când nu se potrivește alte cazuri specifice.

Poziția cazului implicit nu contează:

Indiferent de plasarea sa, cazul implicit este executat numai dacă nici una dintre celelalte condiții de caz nu este îndeplinită. Așadar, punerea lui la început, la mijloc sau la sfârșit nu schimbă logica de bază (cu excepția cazului în care utilizați o tehnică mai puțin obișnuită numită cădere).

vom tipări cazul implicit.

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); 

Ieșire
Invalid day 

Blocuri de cod comune

În unele cazuri, trebuie să folosim același cod pentru mai multe cazuri de comutare. Să vedem un exemplu despre cum să o faceți:

Blocuri de cod comune Exemplu:

Aici, vom avea aceleași blocuri de cod pentru două cazuri de comutare diferite.

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) 

Ieșire
Grade is excellent 

Explicaţie:

  • Grade> i se atribuie valoarea 'A'> .
  • The switch> declarația evaluează valoarea lui grade> .
  • De cand grade> chibrituri 'A'> , blocul de cod care urmează case 'A':> este executat, setarea result> la 'Grade is excellent'> .
  • The break> declarația încheie switch> afirmație.
  • Result> este conectat la consolă, care iese 'Grade is excellent'> .

Notă: Dacă mai multe cazuri de comutare se potrivesc cu o valoare, primul este executat.