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 Algorytmy i podstawy informatyki JavaScript

Słowa kluczowe: Inkrementacja i dekrementacja w JavaScript JavaScript Znacznik <script> w HTML console.log() w JavaScript

W języku JavaScript zapisano fragment kodu.

<script>
var x = 10;
x++;
console.log(x);
</script>
Po wykonaniu skryptu zmienna x
A. będzie równa 11 i zostanie wypisana w oknie popup.
B. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
C. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
D. będzie równa 10 i zostanie wypisana w dokumencie HTML.

Pytanie z egzaminu CKE, styczeń 2017 (arkusz E.14-X-17.01).

W tym fragmencie zmienna x najpierw dostaje wartość 10, a potem wykonywana jest instrukcja x++. Operator inkrementacji ++ zwiększa wartość zmiennej liczbowej o 1, więc po tej instrukcji x ma wartość 11. Następnie console.log(x) przekazuje aktualną wartość zmiennej do konsoli przeglądarki, czyli miejsca dostępnego zwykle w narzędziach deweloperskich, np. po naciśnięciu F12. To nie jest okno popup ani treść automatycznie dopisana do dokumentu HTML. Moim zdaniem to jeden z tych drobnych szczegółów JavaScriptu, które warto dobrze zapamiętać, bo console.log jest codziennym narzędziem przy testowaniu skryptów. W praktyce programista używa go do sprawdzania wartości zmiennych, śledzenia przebiegu funkcji albo diagnozowania błędów. W nowoczesnym kodzie częściej spotkasz let zamiast var, bo let ma bardziej przewidywalny zakres blokowy. Sama zasada jednak zostaje taka sama: x++ zmienia wartość zmiennej, a console.log wypisuje ją w konsoli.
Niepoprawne odpowiedzi wynikają głównie z pomylenia kilku różnych mechanizmów wyświetlania informacji w JavaScript i w przeglądarce. Instrukcja x++ nie pozostawia wartości bez zmian. To operator inkrementacji, czyli zwiększenia wartości o jeden. Jeżeli zmienna miała 10, po wykonaniu tej instrukcji będzie miała 11. Czasem uczniowie kojarzą zapis x++ tylko jako coś, co dzieje się dopiero później, bo istnieje też różnica między postinkrementacją a preinkrementacją w wyrażeniach, ale tutaj instrukcja stoi osobno. Efekt jest prosty: wartość zmiennej zostaje zwiększona. Równie ważne jest rozróżnienie, gdzie trafia wynik. console.log nie wyświetla komunikatu w oknie popup. Do popupów służy na przykład alert, choć w dobrych aplikacjach używa się go raczej ostrożnie, bo przeszkadza użytkownikowi. console.log nie dopisuje też tekstu do dokumentu HTML i nie pokazuje go w głównym obszarze strony. Do tego potrzebna byłaby manipulacja DOM, na przykład ustawienie textContent jakiegoś elementu albo użycie document.write, którego swoją drogą raczej się unika w profesjonalnym kodzie. Konsola przeglądarki jest narzędziem diagnostycznym dla programisty, nie elementem interfejsu użytkownika. Z mojego doświadczenia najczęstszy błąd polega na tym, że każde wypisywanie wartości w JavaScript jest traktowane jak pokazanie czegoś na stronie, a to nie zawsze prawda.

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.