Instrukcja warunkowa switch…case to kolejny sposób na wykonywanie różnych fragmentów kodu w zależności od tego, czy określony warunek jest spełniony czy nie. Instrukcja switch…case jest podobna do instrukcji if…else, ale jest bardziej czytelna i łatwiejsza w użyciu w przypadku, gdy mamy wiele różnych warunków do sprawdzenia.
Na przykład, jeśli chcemy wyświetlić komunikat „Kciuk dla JavaScript” tylko wtedy, gdy zmienna x
ma wartość true
, to możemy użyć instrukcji warunkowej switch…case w następujący sposób:
switch (x) {
case true:
console.log("Kciuk dla JavaScript");
break;
}
Jeśli zmienna x
ma wartość true
, to komunikat „Kciuk dla JavaScript” zostanie wyświetlony w konsoli. W przeciwnym wypadku, jeśli zmienna x ma inną wartość niż true
lub jest niezdefiniowana, to komunikat nie zostanie wyświetlony.
Instrukcja warunkowa switch…case
pozwala również na wykonanie innego fragmentu kodu w przypadku, gdy zmienna x
ma inną wartość niż true. Możemy to zrobić, dodając dodatkowe bloki case do naszego kodu:
switch (x) {
case true:
console.log("Kciuk dla JavaScript");
break;
case false:
console.log("X ma wartość false");
break;
default:
console.log("X ma inną wartość");
break;
}
Jeśli zmienna x
ma wartość true
, to wyświetlony zostanie komunikat „Kciuk dla JavaScript”. Jeśli zmienna x
ma wartość false
, to wyświetlony zostanie komunikat „X ma wartość false”. W przeciwnym wypadku, jeśli zmienna x
ma inną wartość niż true
lub false
lub jest niezdefiniowana, to wyświetlony zostanie komunikat „X ma inną wartość”.
Instrukcja warunkowa switch…case jest bardzo przydatna w języku JavaScript, ponieważ pozwala na dynamiczne i elastyczne sterowanie przebiegiem programu w przypadku, gdy mamy wiele różnych warunków do sprawdzenia. Możemy tworzyć różne warunki i wykonywać odpowiedni kod dla każdego z nich, dzięki czemu nasz kod jest bardziej czytelny i łatwiejszy w utrzymaniu.
Pamiętajmy jednak, że instrukcja switch…case wymaga, abyśmy używali słowa kluczowego break na końcu każdego bloku case. Jeśli zapomnimy o dodaniu break, to kod z kolejnych bloków case również zostanie wykonany, co może prowadzić do błędów i nieoczekiwanych zachowań.