Przejdź do głównej treści

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

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe JavaScript

Słowa kluczowe: Debugger Debugowanie Funkcje w JavaScript console.log() w JavaScript

Która z przedstawionych metod pozwoli wypisać w języku JavaScript w konsoli przeglądarki internetowej komunikat oznaczony jako błąd?

A.
console.print("test");
B.
console.write("test");
C.
console.error("test");
D.
console.echo("test");
Metoda console.error('test'); jest właściwym sposobem wypisania komunikatu oznaczonego jako błąd w konsoli przeglądarki. Obiekt console udostępnia zestaw metod do diagnostyki kodu JavaScript, a error() służy właśnie do komunikatów o charakterze błędu. W narzędziach deweloperskich taki wpis zwykle pojawia się na czerwono, często z ikoną błędu, a przeglądarka może też pokazać miejsce w kodzie, z którego ten komunikat został wywołany. To bardzo praktyczne przy debugowaniu, np. w bloku catch można zrobić: catch (e) { console.error('Błąd pobierania danych', e); }. Ważne: console.error() nie zatrzymuje programu i samo z siebie nie rzuca wyjątku, tylko zapisuje informację w konsoli. Z mojego doświadczenia to dobra praktyka, żeby rozróżniać poziomy logowania: console.log() do zwykłych informacji, console.warn() do ostrzeżeń, a console.error() do realnych problemów. W kodzie produkcyjnym trzeba jednak uważać, żeby nie wypisywać danych poufnych, tokenów albo haseł, bo konsola to też część środowiska widoczna dla użytkownika technicznego.
W JavaScript w przeglądarce nie każda intuicyjnie brzmiąca nazwa metody istnieje w obiekcie console. Częsty błąd polega na przenoszeniu skojarzeń z innych języków lub ze zwykłego języka angielskiego. Słowa write, print czy echo brzmią jak wypisywanie tekstu, ale nie są standardowymi metodami konsoli przeglądarkowej służącymi do oznaczania komunikatu jako błąd. console.write('test') może się kojarzyć z document.write(), które zapisuje treść do dokumentu HTML, ale to zupełnie inny obiekt i inne zastosowanie. console.print('test') bywa mylone z drukowaniem lub funkcjami znanymi z innych środowisk, jednak w typowym API konsoli przeglądarki taka metoda nie służy do logowania błędów. console.echo('test') przypomina PHP albo polecenia terminalowe, gdzie echo wypisuje tekst, ale w JavaScript po stronie przeglądarki nie jest to poprawna metoda obiektu console. Jeśli spróbujesz wywołać nieistniejącą metodę, najczęściej dostaniesz TypeError, bo JavaScript próbuje uruchomić coś, co nie jest funkcją. Poprawne podejście opiera się na znanym interfejsie Console API: console.log(), console.info(), console.warn() i console.error(). Moim zdaniem warto od razu uczyć się tych nazw, bo potem debugowanie aplikacji webowych jest dużo szybsze i mniej chaotyczne. Szczególnie console.error() pomaga odróżnić zwykłe komunikaty diagnostyczne od sytuacji, które faktycznie wymagają uwagi programisty.

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. Wysłane zostaną 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.