Źródło: zawodowe.edu.pl (AI)
Na podstawie przedstawionego kodu w języku JavaScript można powiedzieć, że alert nie zostanie wyświetlony, ponieważ
var x = 10;
switch(x) {
case "10": alert("Test instrukcji switch");
}
Warianty odpowiedzi
-
A
Wartość zmiennej x nie została zdefiniowana przed instrukcją switch.
-
B
Nie zastosowano wyrażenia default.
-
C
W instrukcji switch w wyrażeniu case nie dostosowano zapisu wartości do typu zmiennej x.
-
D
Nie zastosowano instrukcji break.
Wyjaśnienie
W języku JavaScript instrukcja switch do porównywania wartości wykorzystuje mechanizm ścisłego porównania, czyli odpowiednik operatora z trzema znakami równości.
Oznacza to, że sprawdzana jest nie tylko sama wartość zmiennej, ale również jej typ danych. W zaprezentowanym kodzie zmienna x przechowuje liczbę 10, natomiast w bloku case zdefiniowano tekst "10" umieszczony w cudzysłowie.
Ze względu na niezgodność typów (liczba vs napis) warunek nie zostanie spełniony, a funkcja alert nie wykona się. Aby kod zadziałał, typ wartości w case musi być identyczny z typem badanej zmiennej.