Instrukcje wyboru w JavaScript
Instrukcja switch to jeden z mechanizmów wyboru w JavaScript.
Pozwala wykonywać różne fragmenty kodu w zależności od wartości danej zmiennej lub wyrażenia.
Stosuje się ją głównie wtedy, gdy porównujemy jedną zmienną z wieloma możliwymi wartościami.
1. Po co używamy switch?
switch jest alternatywą dla wielu porównań typu:
Instrukcja switch:
- jest bardziej czytelna,
- grupuje wiele opcji w jednym miejscu,
- działa szybciej w przypadkach statycznych wyborów,
- pozwala wykorzystać mechanizm tzw. fall-through (przechodzenie między przypadkami).
2. Podstawowa składnia switch
3. Jak działa switch? — krok po kroku
- JavaScript oblicza wartość wyrażenia w
switch (...). - Wyszukuje
case, którego wartość jest identyczna (porównanie działa jak===). -
Jeśli znajdzie pasujący
case: -
wykonuje kod aż do napotkania
break. -
Jeśli nie znajdzie dopasowania:
-
wykona blok
default(jeśli istnieje).
4. Przykład podstawowy
5. Rola słowa kluczowego break
break zatrzymuje wykonywanie dalszych przypadków.
Jeżeli go pomińiesz, wykonanie „spadnie” do następnego bloku case.
Bez break:
Wyjście:
Jeden
Dwa
Z break (prawidłowo):
6. Fall-through — celowe przechodzenie dalej
Czasami świadomie pomijamy break, gdy kilka wartości ma prowadzić do tego samego kodu.
Przykład:
Oba przypadki "jabłko" i "gruszka" mają taki sam wynik.
7. Blok default
default działa jak "domyślna opcja".
Wykonuje się, gdy żaden case nie pasuje.
Przykład:
default może znajdować się w dowolnym miejscu, ale standardowo jest na końcu.
8. switch z wyrażeniami
W switch można używać nie tylko zmiennych, ale też wyrażeń:
9. Porównanie działa jak ===
W switch porównania są wykonywane ściśle, tak jak w operatorze ===.
Przykład:
Wynik to:
String
10. switch w połączeniu z funkcjami
Możemy wykonywać funkcje w zależności od przypadku:
11. Zastosowania praktyczne switch
switch sprawdza się szczególnie w sytuacjach:
- wybór dnia tygodnia,
- wybór komendy użytkownika,
- wybór trybu gry,
- konfiguracje zależne od nazw,
- obsługa shortcutów klawiatury,
- routery poleceń w aplikacjach.