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
- 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
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 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.