The JavaScript switch příkaz vyhodnotí výraz a provede blok kódu na základě odpovídajících případů. Poskytuje alternativu k dlouhým řetězcům if-else, zlepšuje čitelnost a udržovatelnost, zejména při manipulaci s více podmíněnými větvemi.
Obsah
- Syntaxe příkazu Switch
- Jak funguje příkaz Switch
- Vývojový diagram příkazu Switch
- Společné bloky kódu
Syntaxe příkazu Switch
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; }>-
Expression>je hodnota, kterou chcete porovnat. Case value1>,case value2>, atd., představují možné hodnotyexpression>.break>příkaz ukončíswitch>prohlášení. Bez něj bude exekuce pokračovat do dalšího případu.Default>určuje kód, který se má spustit, pokud žádný z případů neodpovídáexpression>.
Jak funguje příkaz Switch
- Hodnocení : Výraz uvnitř
switch>výpis se hodnotí jednou. - Srovnání : Hodnota výrazu je porovnána s každým
case>štítek (za použití přísné rovnosti===>). - Provedení : Pokud je nalezena shoda, odpovídající blok kódu následující po shodě
case>štítek se provede. Pokud není nalezena žádná shoda, provedení skočí nadefault>případ (pokud existuje) nebo pokračuje dalším příkazem zaswitch>blok. - Prohlášení o přerušení : Po provedení bloku kódu se
break>příkaz ukončíswitch>prohlášení, které zabrání tomu, aby exekuce propadla do dalších případů. Libreak>je vynechán, provádění bude pokračovat dalším případem (známým jako pád). - Výchozí případ : The
default>případ je volitelný. Pokud není nalezena žádná shoda, blok kódu poddefault>je proveden.
Vývojový diagram příkazu Switch

Příklad příkazu Switch:
Zde vytiskneme název dne 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ýstup
Wednesday>
Vysvětlení:
Day>je nastaveno na3>.- The
switch>výrok hodnotíday>. - Od té doby
day>je3>,case 3>blok se provede, přiřazení'Wednesday'>nadayName>. - The
break>prohlášení končíswitch>prohlášení, které brání pokračování exekuce do dalších případů.
Příklad příkazu Switch:
Zde zkontrolujeme náš stupeň pomocí pouzdra přepínače.
kolik týdnů v měsíciJavascript
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ýstup
B (Average)>
Vysvětlení:
Grade>je přiřazena hodnota'B'>.- The
switch>prohlášení hodnotí hodnotugrade>. - Od té doby
grade>je'B'>, následující blok kóducase 'B':>je proveden. - The
result>proměnné je přiřazen řetězec'B (Average)'>. - The
break>příkaz ukončíswitch>prohlášení. result>je přihlášen do konzole, která vypíše'B (Average)'>.
Klíčové slovo přestávky
Thebreak>klíčové slovo se používá k ukončení provádění smyčky nebo aswitch>prohlášení.
výchozí klíčové slovo
Thedefault>klíčové slovo se používá v aswitch>příkaz jako záložní možnost, když žádný zcase>výrazy odpovídají vyhodnocované hodnotě. Působí podobně jakoelse>prohlášení v anif...else>řetězce poskytující výchozí akci, která se má provést, když se žádné jiné konkrétní případy neshodují.
Na pozici výchozího případu nezáleží:
Bez ohledu na jeho umístění se výchozí případ provede pouze v případě, že není splněna žádná z ostatních podmínek případu. Umístění na začátek, střed nebo konec tedy nezmění základní logiku (pokud nepoužíváte méně běžnou techniku zvanou propadnutí).
vytiskneme výchozí případ.
nestálé klíčové slovo javaJavaScript
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ýstup
Invalid day>
Společné bloky kódu
V některých případech musíme použít stejný kód pro více případů přepínačů. Podívejme se na příklad, jak na to:
Společné bloky kódu Příklad:
Zde použijeme stejné kódové bloky pro dva různé případy přepínačů.
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ýstup
Grade is excellent>
Vysvětlení:
Grade>je přiřazena hodnota'A'>.- The
switch>prohlášení hodnotí hodnotugrade>. - Od té doby
grade>zápasy'A'>, následující blok kóducase 'A':>se provede, nastaveníresult>na'Grade is excellent'>. - The
break>příkaz ukončíswitch>prohlášení. Result>je přihlášen do konzole, která vypíše'Grade is excellent'>.
Poznámka: Pokud se s hodnotou shoduje více případů přepnutí, provede se první.