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
- Cum funcționează declarația Switch
- Diagrama de flux a declarației Switch
- Blocuri de cod comune
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 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 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ă : The
default>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>.- The
switch>declarația evalueazăday>. - De cand
day>este3>, celcase 3>se execută blocul, atribuirea'Wednesday'>ladayName>. - The
break>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'>.- The
switch>declarația evaluează valoarea luigrade>. - 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 î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'>.- The
switch>declarația evaluează valoarea luigrade>. - De cand
grade>chibrituri'A'>, blocul de cod care urmeazăcase 'A':>este executat, setarearesult>la'Grade is excellent'>. - The
break>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.