logo

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 aleexpression>.
  • break>declarația încheieswitch>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 cuexpression>.

Cum funcționează declarația Switch

  • Evaluare : Expresia din interiorulswitch>afirmația este evaluată o dată.
  • Comparaţie : Valoarea expresiei este comparată cu fiecarecase>etichetă (folosind egalitate strictă===>).
  • Execuţie : Dacă se găsește o potrivire, blocul de cod corespunzător după potrivirecase>se execută eticheta. Dacă nu se găsește nicio potrivire, execuția trece ladefault>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 încheieswitch>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ă : Thedefault>carcasa este optionala. Dacă nu se găsește nicio potrivire, se blochează codul de subdefault>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 sa3>.
  • Theswitch>declarația evalueazăday>.
  • De candday>este3>, celcase 3>se execută blocul, atribuirea'Wednesday'>ladayName>.
  • Thebreak>declarația se încheieswitch>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'>.
  • Theswitch>declarația evaluează valoarea luigrade>.
  • De candgrade>este'B'>, blocul de cod care urmeazăcase 'B':>este executat.
  • Theresult>variabilei i se atribuie șirul'B (Average)'>.
  • Thebreak>declarația încheieswitch>afirmație.
  • result>este conectat la consolă, care iese'B (Average)'>.

Rupe cuvânt cheie

Thebreak>cuvântul cheie este folosit pentru a termina execuția unei bucle sau aswitch>afirmație.

cuvânt cheie implicit

Thedefault>cuvântul cheie este folosit în cadrul aswitch>declarație ca opțiune de rezervă atunci când niciunul dintrecase>expresiile se potrivesc cu valoarea evaluată. Acționează similar cuelse>declarație într-unif...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'>.
  • Theswitch>declarația evaluează valoarea luigrade>.
  • De candgrade>chibrituri'A'>, blocul de cod care urmeazăcase 'A':>este executat, setarearesult>la'Grade is excellent'>.
  • Thebreak>declarația încheieswitch>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.