Instrukcja wyboru switch

Mirosław Zelent | 08-01-2018

Jest nazywana instrukcją wyboru, jako że pozwala wybrać zachowanie skryptu w kilku scenariuszach. Zapis switch (zmienna) możemy przeczytać jako: "przełącz w zależności od wartości zmiennej". Poniżej składnia przykładowego przełącznika:

switch (nr_miesiaca)
{
case 1:
alert("styczeń");
break;

case 2:
alert("luty");
break;

case 3:
alert("marzec");
break;

// ... analogicznie kontynuujemy dla 12 miesięcy

default:
alert("Podano nr miesiąca inny niż z przedziału 1-12");
}

Jak widzimy powyżej, ten switch realizuje zamianę numeru miesiąca na jego nazwę. Każdy scenariusz rozpoczyna się od słowa kluczowego case (ang. “w przypadku”) wraz z podaną wartością zmiennej nr_miesiaca (i dwukropkiem), dla której ten scenariusz zostanie wykonany. Każdy scenariusz kończy się zaś klauzulą break, która znaczy: zerwij w tym miejscu instrukcję switch. Brak tego słowa kluczowego np. w case: 2 sprawiłby, że kolejny scenariusz (trzeci) również wykonał by się dla wartości równej 2 (możemy więc tego break nie umieszczać, jeśli dla jednego scenariusza ma się wykonać kilka operacji normalnie przewidzianych dla innych scenariuszy.

Zwróćmy też uwagę na specjalny scenariusz oznaczony klauzulą default – jest to domyślne zachowanie przełącznika, jeśli zmienna sterująca (u nas: nr_miesiaca) przyjmie wartość spoza case’ów (przypadków) znajdujących się pomiędzy klamrami. Oczywiście ta sekcja jest opcjonalna, ale powala zareagować w przypadku zaistnienia scenariusza spoza listy.

Instrukcja wyboru switch pozwala zastąpić w kodzie kilka instrukcji warunkowych if, poprawiając dzięki temu przejrzystość kodu źródłowego. Oczywiście jeśli ktoś to samo zadanie zrealizuje na instrukcjach if, to nie popełnia błędu – otrzymujemy to po prostu kolejną konstrukcję językową do wykorzystania.