Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki JavaScript

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");
}

Super, twoja odpowiedź jest prawidłowa! Wybierając odpowiedź 'w instrukcji switch w wyrażeniu case nie dostosowano zapisu wartości do typu zmiennej x', zrozumiałeś istotny punkt w porównywaniu wartości w JavaScript. W przeciwieństwie do wielu innych języków, porównania w JavaScript są typowo 'strict comparison'. Oznacza to, że pod uwagę brane są zarówno wartość, jak i typ danych. W naszym przypadku, zmienna x jest liczbą 10, podczas gdy w instrukcji case porównywana jest z ciągiem znaków '10'. Mimo, że obie reprezentują tę samą wartość, są różnymi typami danych. Dlatego też warunek nie jest spełniony i alert nie zostanie wyświetlony. To jest bardzo ważne do zapamiętania podczas pracy z JavaScript, ponieważ może prowadzić do nieoczekiwanych wyników. Pamiętaj zawsze o typach danych podczas korzystania z instrukcji switch i case w JavaScript.
Prawda jest taka, że zastosowanie wyrażenia default, definicja zmiennej x przed instrukcją switch oraz użycie instrukcji break nie wpływają na wyświetlenie alertu w omawianym kodzie JavaScript. Wyrażenie default w instrukcji switch służy jako gwarancja wykonania bloku kodu, gdy żaden z przypadków nie pasuje do wyrażenia switch, ale jego brak nie jest przyczyną niepojawienia się alertu. Co więcej, zmienna x jest zdefiniowana przed instrukcją switch, co jest zgodne z zasadami JavaScript. Instrukcja break służy do zakończenia pętli lub instrukcji switch i przeniesienia wykonania do następnej instrukcji po instrukcji switch lub pętli, ale nie ma ona wpływu na porównanie typów danych w instrukcji case. Rzeczywistym powodem, dla którego alert nie jest wyświetlany, jest fakt, że JavaScript używa tzw. 'strict comparison' w instrukcji case, porównując zarówno wartość, jak i typ danych, a typy danych liczby 10 i ciągu znaków '10' są różne. Dlatego jest istotne, ażeby zawsze zwracać uwagę na typy danych podczas korzystania z instrukcji switch i case w JavaScript.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.