Příkaz JavaScript switch

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é hodnoty expression> .
  • 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čí na default> případ (pokud existuje) nebo pokračuje dalším příkazem za switch> 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ů. Li break> 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 pod default> 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 na 3> .
  • The switch> výrok hodnotí day> .
  • Od té doby day> je 3> , case 3> blok se provede, přiřazení 'Wednesday'> na dayName> .
  • 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.

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'> .
  • The switch> prohlášení hodnotí hodnotu grade> .
  • Od té doby grade> je 'B'> , následující blok kódu case '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

The break> klíčové slovo se používá k ukončení provádění smyčky nebo a switch> prohlášení.

výchozí klíčové slovo

The default> klíčové slovo se používá v a switch> příkaz jako záložní možnost, když žádný z case> výrazy odpovídají vyhodnocované hodnotě. Působí podobně jako else> prohlášení v an if...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.

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'> .
  • The switch> prohlášení hodnotí hodnotu grade> .
  • Od té doby grade> zápasy 'A'> , následující blok kódu case '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í.