KWALIFIKACJA INF3 - TEST WIEDZY NR 3

PYTANIE NR 39.
Podczas korzystania z narzędzi deweloperskich w przeglądarce internetowej, które z poniższych funkcji pozwala na manualne zatrzymanie wykonania kodu JavaScript w dowolnym momencie?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja "debugger" w JavaScript działa jak programowy punkt przerwania.
Gdy interpreter ją napotka, przeglądarka wstrzymuje wykonanie skryptu i pozwala przejść do debugowania w DevTools (podgląd zmiennych, call stack). Pozostałe opcje służą do logowania lub monitorowania, nie do zatrzymania kodu.

Pełne wyjaśnienie:

W debugowaniu JavaScript chodzi o wstrzymanie wykonania programu w kontrolowanym miejscu, aby sprawdzić stan aplikacji: wartości zmiennych, kolejność wywołań funkcji i przebieg logiki.

Odpowiedź "Debugger statement" odnosi się do instrukcji debugger w JavaScript. Jej rola jest prosta: gdy silnik JavaScript napotka tę instrukcję, może wstrzymać wykonywanie skryptu i przekazać kontrolę do narzędzi deweloperskich. W praktyce działa to jak ustawienie breakpointu "z poziomu kodu", co pomaga szybko zatrzymać program w interesującym miejscu (np. tuż przed wykonaniem podejrzanej instrukcji lub wewnątrz warunku).

Dlaczego pozostałe odpowiedzi nie pasują?

  • "Console.log()" służy do wypisywania informacji do konsoli. Pomaga śledzić przebieg programu, ale nie zatrzymuje wykonania. To typowy błąd: mylenie diagnostyki przez logowanie z debugowaniem krokowym.
  • "Performance Monitor" dotyczy obserwacji wydajności (np. obciążenia, FPS, czasu renderowania). Jest użyteczny przy optymalizacji, lecz nie jest narzędziem do wstrzymywania kodu w dowolnym miejscu.
  • "Network Monitor" służy do analizy ruchu sieciowego (żądania HTTP, nagłówki, czasy odpowiedzi). Pozwala diagnozować problemy z API, cache czy CORS, ale nie zatrzymuje bezpośrednio wykonywania JavaScript.

W nauce do egzaminu warto zapamiętać rozróżnienie: konsola = obserwacja/komunikaty, panele Performance/Network = pomiar i analiza, a debugger/breakpoint = zatrzymanie i analiza stanu programu. Dobrą praktyką jest łączenie metod: breakpointy do zrozumienia logiki i logi do szybkiej diagnostyki.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja debugger to polecenie w kodzie JavaScript, które może spowodować wstrzymanie wykonania skryptu i przejście do trybu debugowania w narzędziach deweloperskich. Działa podobnie do breakpointu ustawionego w panelu Sources.
Po wstrzymaniu skryptu (np. przez breakpoint lub instrukcję debugger) DevTools pokazuje miejsce zatrzymania, call stack oraz aktualne wartości zmiennych. Możesz wtedy przechodzić krokowo przez kod, sprawdzać warunki i obserwować skutki instrukcji.
console.log() tylko wypisuje dane do konsoli i natychmiast kończy działanie, nie przerywając wykonywania programu. Jest to metoda diagnostyczna (logowanie), a nie mechanizm kontroli przepływu wykonania jak breakpoint czy instrukcja debugger.
Breakpoint ustawiasz w DevTools klikając numer linii, bez zmiany plików źródłowych. Instrukcja debugger dodaje punkt przerwania bezpośrednio do kodu. Obie metody prowadzą do pauzy, ale różnią się sposobem konfiguracji i wpływem na repozytorium.
Instrukcja debugger jest lepsza, gdy musisz sprawdzić stan wielu zmiennych naraz, przeanalizować stos wywołań lub przejść krokowo przez fragment algorytmu. Logi są szybsze przy prostym śledzeniu przepływu, ale trudniejsze przy złożonej logice.
Najczęściej używa się panelu Sources, gdzie widać pliki skryptów i można ustawiać breakpointy. Po zatrzymaniu wykonania zobaczysz też sekcje do podglądu zakresów (Scopes), obserwowanych zmiennych (Watch) i stosu wywołań (Call stack).
Nie. Performance Monitor służy do obserwacji metryk wydajności i obciążenia, a nie do wstrzymywania wykonania instrukcji. Zatrzymanie realizuje się przez breakpointy, pauzę wykonywania lub instrukcję debugger.
Network pomaga głównie przy problemach z komunikacją: błędy API, kody odpowiedzi, nagłówki, czasy ładowania, cache. To nie jest narzędzie do krokowego wykonywania kodu, ale często wspiera debugowanie, gdy błąd wynika z danych z serwera.
Częsty błąd to utożsamienie każdego panelu z kontrolą wykonania kodu: wybór Performance/Network zamiast mechanizmów pauzy. Warto zapamiętać: Sources = debugowanie i breakpointy, Console = komunikaty, Network = żądania, Performance = wydajność.
Najlepiej ćwiczyć praktycznie: otwórz prostą stronę z obsługą zdarzeń, ustaw breakpointy w panelu Sources, dodaj kilka logów w Console i przeanalizuj zapytania w Network. Ucz się nazw funkcji i ich przeznaczenia, bo pytania często badają rozróżnienie narzędzi.
info

To pytanie poprawnie rozwiązuje 47% zdających egzamin. trudne

Według specjalistów z branży: "Pozostałe opcje służą do logowania lub monitorowania, nie do zatrzymania kodu."

Źródła:

  • MDN Web Docs: debugger (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger - dostęp 2026-03-01
  • Google Chrome Developers: DevTools – Sources panel (debugging JavaScript) – https://developer.chrome.com/docs/devtools/javascript/ - dostęp 2026-03-01
  • MDN Web Docs: console.log() – https://developer.mozilla.org/en-US/docs/Web/API/console/log_static - dostęp 2026-03-01

Materiały:

  • Dokumentacja MDN dotycząca instrukcji debugger w JavaScript
  • Dokumentacja Chrome DevTools: sekcja Sources (breakpoints i pause)
  • Materiały kursowe o debugowaniu JS i pracy z konsolą

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego