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

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

A.
console.write("test");
B.
console.echo("test");
C.
console.log("test");
D.
console.print("test");

Pytanie z egzaminu CKE, styczeń 2021 (arkusz EE.09-SG-21.01).

Metoda console.log("test"); jest właściwym sposobem wypisania komunikatu w konsoli przeglądarki. Obiekt console udostępnia zestaw metod diagnostycznych, a log() służy właśnie do wyświetlania zwykłych informacji tekstowych, wartości zmiennych, obiektów, tablic czy wyników działania funkcji. W praktyce używa się tego bardzo często podczas debugowania JavaScriptu, np. żeby sprawdzić, czy zdarzenie kliknięcia się wykonało, jaka wartość przyszła z formularza albo co zwróciło zapytanie fetch. Przykład: let imie = "Anna"; console.log(imie); pokaże w konsoli wartość zmiennej. To jest zgodne z powszechnie stosowaną Console API obsługiwaną przez narzędzia deweloperskie przeglądarek oraz środowisko Node.js. Z mojego doświadczenia warto jednak pamiętać, że console.log() jest narzędziem pomocniczym, a nie sposobem komunikacji z użytkownikiem strony. Do interfejsu używa się DOM, np. textContent, a logi raczej usuwa się lub ogranicza w wersji produkcyjnej, żeby nie zaśmiecać konsoli i nie ujawniać przypadkiem szczegółów działania aplikacji.
W JavaScripcie działającym w przeglądarce komunikat diagnostyczny wypisuje się najczęściej przez console.log("test");, ponieważ log() jest rzeczywistą metodą obiektu console. Pozostałe nazwy brzmią trochę intuicyjnie, ale nie należą do standardowego zestawu metod konsoli w przeglądarkach. To częsty błąd, bo słowa write, print i echo kojarzą się z wypisywaniem danych w innych kontekstach. document.write() istnieje w JavaScripcie, ale działa na dokumencie HTML, a nie na konsoli, i dziś raczej unika się go w normalnych aplikacjach, bo może nadpisać zawartość strony oraz kiepsko pasuje do nowoczesnej pracy z DOM. window.print() również istnieje, ale uruchamia okno drukowania strony, a nie wypisuje tekstu w DevTools. Z kolei echo kojarzy się głównie z PHP, gdzie służy do wysyłania tekstu do odpowiedzi HTTP, więc przenoszenie tej nazwy jeden do jednego do JavaScriptu jest mylące. Podobnie console.print() czy console.write() mogą wydawać się logiczne, bo po angielsku znaczą mniej więcej „drukuj” lub „zapisz”, ale sama logika nazwy nie wystarcza w programowaniu. Liczy się konkretne API udostępnione przez środowisko. W praktyce, gdy wpiszesz nieistniejącą metodę, przeglądarka najczęściej zgłosi błąd typu TypeError, np. że console.write is not a function. Dlatego dobrze jest sprawdzać dokumentację MDN i korzystać z utrwalonych metod: console.log() do zwykłych komunikatów, console.warn() do ostrzeżeń, console.error() do błędów, a czasem console.table() do czytelnego podglądu tablic i obiektów.

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.