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.