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
- Jak działa instrukcja Switch
- Schemat blokowy instrukcji Switch
- Wspólne bloki kodu
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ątrz
switch>instrukcja jest oceniana raz. - Porównanie : Wartość wyrażenia jest porównywana z każdym
case>etykieta (przy użyciu ścisłej równości===>). - Wykonanie : Jeśli zostanie znalezione dopasowanie, odpowiedni blok kodu następuje po dopasowaniu
case>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 plik
break>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>.- The
switch>wypowiedź oceniaday>. - Od
day>Jest3>,case 3>blok jest wykonywany, przypisując'Wednesday'>DodayName>. - The
break>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'>.- The
switch>instrukcja ocenia wartośćgrade>. - Od
grade>Jest'B'>, następujący blok koducase 'B':>jest wykonywany. - The
result>do zmiennej przypisany jest ciąg znaków'B (Average)'>. - The
break>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'>.- The
switch>instrukcja ocenia wartośćgrade>. - Od
grade>mecze'A'>, następujący blok koducase 'A':>jest wykonywane, ustawienieresult>Do'Grade is excellent'>. - The
break>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.