logo

Instrukcja przełącznika JavaScript

The Instrukcja przełączania JavaScript ocenia wyrażenie i wykonuje blok kodu na podstawie pasujących przypadków. Zapewnia alternatywę dla długich łańcuchów if-else, poprawiając czytelność i łatwość konserwacji, szczególnie podczas obsługi wielu gałęzi warunkowych.

Spis treści



Składnia instrukcji Switch

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> to wartość, którą chcesz porównać.
  • Case value1>,case value2>itd. reprezentują możliwe wartościexpression>.
  • break>oświadczenie kończyswitch>oświadczenie. Bez tego wykonanie będzie kontynuowane w następnej sprawie.
  • Default>określa kod, który ma zostać uruchomiony, jeśli żaden z przypadków nie pasuje doexpression>.

Jak działa instrukcja Switch

  • Ocena : Wyrażenie wewnątrzswitch>instrukcja jest oceniana raz.
  • Porównanie : Wartość wyrażenia jest porównywana z każdymcase>etykieta (przy użyciu ścisłej równości===>).
  • Wykonanie : Jeśli zostanie znalezione dopasowanie, odpowiedni blok kodu następuje po dopasowaniucase>etykieta jest wykonywana. Jeśli nie zostanie znalezione żadne dopasowanie, wykonanie przechodzi dodefault>przypadku (jeśli występuje) lub kontynuuje następne stwierdzenie poswitch>blok.
  • Oświadczenie o przerwaniu : Po wykonaniu bloku kodu plikbreak>oświadczenie kończyswitch>oświadczenie, zapobiegające przeniesieniu egzekucji na kolejne sprawy. Jeślibreak>zostanie pominięty, wykonanie będzie kontynuowane do następnego przypadku (tzw. przepadnięcie).
  • Domyślny przypadek :default>sprawa jest opcjonalna. Jeśli nie zostanie znalezione żadne dopasowanie, blok kodu poniżejdefault>jest wykonywany.

Schemat blokowy instrukcji Switch

Przykład instrukcji Switch:

Tutaj wydrukujemy nazwę dnia trzeciego.

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>

Wyjście
Wednesday>

Wyjaśnienie:

  • Day>jest ustawione na3>.
  • Theswitch>wypowiedź oceniaday>.
  • Odday>Jest3>,case 3>blok jest wykonywany, przypisując'Wednesday'>DodayName>.
  • Thebreak>oświadczenie kończyswitch>oświadczenie, uniemożliwiające kontynuowanie egzekucji w innych sprawach.

Przykład instrukcji Switch:

Tutaj sprawdzimy naszą ocenę za pomocą obudowy przełącznika.



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);>

Wyjście
B (Average)>

Wyjaśnienie:

  • Grade>przypisana jest wartość'B'>.
  • Theswitch>instrukcja ocenia wartośćgrade>.
  • Odgrade>Jest'B'>, następujący blok koducase 'B':>jest wykonywany.
  • Theresult>do zmiennej przypisany jest ciąg znaków'B (Average)'>.
  • Thebreak>oświadczenie kończyswitch>oświadczenie.
  • result>jest logowany do konsoli, która generuje dane wyjściowe'B (Average)'>.

Przerwij słowo kluczowe

Thebreak>słowo kluczowe służy do zakończenia wykonywania pętli lub aswitch>oświadczenie.

domyślne słowo kluczowe

Thedefault>słowo kluczowe jest używane w ciągu aswitch>instrukcja jako opcja awaryjna, gdy żadna z opcjicase>wyrażenia odpowiadają ocenianej wartości. Działa podobnie doelse>oświadczenie wif...else>łańcuch, zapewniając domyślną akcję do podjęcia, gdy nie pasują żadne inne konkretne przypadki.

Pozycja przypadku domyślnego nie ma znaczenia:

Niezależnie od jego umiejscowienia, przypadek domyślny zostanie wykonany tylko wtedy, gdy żaden z pozostałych warunków przypadku nie zostanie spełniony. Zatem umieszczenie go na początku, w środku lub na końcu nie zmienia podstawowej logiki (chyba że używasz mniej popularnej techniki zwanej opadaniem).



wydrukujemy domyślny przypadek.

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);>

Wyjście
Invalid day>

Wspólne bloki kodu

W niektórych przypadkach musimy użyć tego samego kodu dla wielu przypadków przełączania. Zobaczmy przykład, jak to zrobić:

Wspólne bloki kodu Przykład:

Tutaj użyjemy tych samych bloków kodu dla dwóch różnych przypadków przełączników.

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

Wyjście
Grade is excellent>

Wyjaśnienie:

  • Grade>przypisana jest wartość'A'>.
  • Theswitch>instrukcja ocenia wartośćgrade>.
  • Odgrade>mecze'A'>, następujący blok koducase 'A':>jest wykonywane, ustawienieresult>Do'Grade is excellent'>.
  • Thebreak>oświadczenie kończyswitch>oświadczenie.
  • Result>jest logowany do konsoli, która generuje dane wyjściowe'Grade is excellent'>.

Notatka: Jeżeli do danej wartości pasuje wiele przypadków przełączania, wykonywany jest pierwszy.