logo

Příkaz JavaScript switch

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

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ýmcase>š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 sebreak>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 : Thedefault>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>.
  • Theswitch>výrok hodnotíday>.
  • Od té dobyday>je3>,case 3>blok se provede, přiřazení'Wednesday'>nadayName>.
  • Thebreak>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íci
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ýstup
B (Average)>

Vysvětlení:

  • Grade>je přiřazena hodnota'B'>.
  • Theswitch>prohlášení hodnotí hodnotugrade>.
  • Od té dobygrade>je'B'>, následující blok kóducase 'B':>je proveden.
  • Theresult>proměnné je přiřazen řetězec'B (Average)'>.
  • Thebreak>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 java
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ý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'>.
  • Theswitch>prohlášení hodnotí hodnotugrade>.
  • Od té dobygrade>zápasy'A'>, následující blok kóducase 'A':>se provede, nastaveníresult>na'Grade is excellent'>.
  • Thebreak>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í.