The Príkaz na prepnutie JavaScriptu vyhodnotí výraz a vykoná blok kódu na základe zodpovedajúcich prípadov. Poskytuje alternatívu k dlhým reťazcom if-else, zlepšuje čitateľnosť a udržiavateľnosť, najmä pri manipulácii s viacerými podmienenými vetvami.
Obsah
Syntax príkazu Switch
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; }>-
Expression>je hodnota, ktorú chcete porovnať. Case value1>,case value2>, atď., predstavujú možné hodnotyexpression>.break>vyhlásenie ukončujeswitch>vyhlásenie. Bez nej bude exekúcia pokračovať v ďalšom prípade.Default>určuje kód, ktorý sa má spustiť, ak sa žiadny z prípadov nezhoduje sexpression>.
Ako funguje príkaz Switch
- Hodnotenie : Výraz vo vnútri
switch>výrok sa hodnotí raz. - Porovnanie : Hodnota výrazu sa porovnáva s každým
case>štítok (pri použití prísnej rovnosti===>). - Poprava : Ak sa nájde zhoda, po zhode nasleduje zodpovedajúci blok kódu
case>štítok sa vykoná. Ak sa nenájde žiadna zhoda, poprava preskočí nadefault>prípade (ak existuje) alebo pokračuje nasledujúcim vyhlásením poswitch>blokovať. - Vyhlásenie o prerušení : Po vykonaní bloku kódu sa
break>vyhlásenie ukončujeswitch>vyhlásenie, ktoré bráni tomu, aby exekúcia prepadla do ďalších prípadov. Akbreak>sa vynechá, vykonávanie bude pokračovať do ďalšieho prípadu (známeho ako pád). - Predvolený prípad : The
default>prípad je voliteľný. Ak sa nenájde žiadna zhoda, blok kódu poddefault>je vykonaný.
Vývojový diagram príkazu Switch

Príklad príkazu Switch:
Tu vytlačíme názov dňa v deň 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> Výkon
Wednesday>
Vysvetlenie:
Day>je nastavený na3>.- The
switch>vyhlásenie hodnotíday>. - Od r
day>je3>,case 3>blok sa vykoná, priradenie'Wednesday'>dodayName>. - The
break>vyhlásenie končíswitch>vyhlásenie, ktoré bráni pokračovaniu exekúcie v iných prípadoch.
Príklad príkazu Switch:
Tu skontrolujeme náš stupeň pomocou puzdra spínača.
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);> Výkon
B (Average)>
Vysvetlenie:
Grade>je priradená hodnota'B'>.- The
switch>vyhlásenie hodnotí hodnotugrade>. - Od r
grade>je'B'>, nasledujúci blok kóducase 'B':>je vykonaný. - The
result>premennej je priradený reťazec'B (Average)'>. - The
break>vyhlásenie ukončujeswitch>vyhlásenie. result>je prihlásený do konzoly, ktorá vypíše'B (Average)'>.
Kľúčové slovo prestávky
Thebreak>kľúčové slovo sa používa na ukončenie vykonávania cyklu alebo aswitch>vyhlásenie.
predvolené kľúčové slovo
Thedefault>kľúčové slovo sa používa v rámci aswitch>ako záložnú možnosť, keď žiadna zcase>výrazy zodpovedajú hodnotenej hodnote. Pôsobí podobne akoelse>vyhlásenie v anif...else>reťazec, ktorý poskytuje predvolenú akciu, ktorá sa má vykonať, keď sa nezhodujú žiadne iné konkrétne prípady.
Na pozícii predvoleného prípadu nezáleží:
Bez ohľadu na jeho umiestnenie sa predvolený prípad vykoná iba vtedy, ak nie je splnená žiadna z ostatných podmienok prípadu. Takže jeho umiestnenie na začiatok, stred alebo koniec nemení základnú logiku (pokiaľ nepoužívate menej bežnú techniku nazývanú prepadnutie).
vytlačíme predvolený prípad.
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);> Výkon
Invalid day>
Spoločné bloky kódu
V niektorých prípadoch musíme použiť rovnaký kód pre viacero prípadov prepínača. Pozrime sa na príklad, ako to urobiť:
Spoločné bloky kódu Príklad:
Tu budeme rovnaké kódové bloky pre dva rôzne prípady prepínačov.
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)> Výkon
Grade is excellent>
Vysvetlenie:
Grade>je priradená hodnota'A'>.- The
switch>vyhlásenie hodnotí hodnotugrade>. - Od r
grade>zápasy'A'>, nasledujúci blok kóducase 'A':>sa vykoná, nastavenieresult>do'Grade is excellent'>. - The
break>vyhlásenie ukončujeswitch>vyhlásenie. Result>je prihlásený do konzoly, ktorá vypíše'Grade is excellent'>.
Poznámka: Ak sa s hodnotou zhoduje viacero prípadov prepnutia, vykoná sa prvý.