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

Wskaż poprawny zapis instrukcji zapisanej w języku JavaScript.

A.
document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " ; 3.14 );
B.
document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " 3.14 );
C.
document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " + 3.14 );
D.
document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " . 3.14 );

Pytanie z egzaminu CKE, czerwiec 2019 (arkusz E.14-X-19.06).

W tym zapisie poprawnie użyto operatora + do połączenia tekstu z liczbą: document.write("Liczba π z dokładnością do 2 miejsc po przecinku ≈ " + 3.14);. W JavaScript znak + ma dwa częste zastosowania: dodawanie liczb oraz konkatenację, czyli sklejanie napisów. Jeżeli po jednej stronie operatora znajduje się tekst, a po drugiej liczba, JavaScript automatycznie zamienia liczbę na tekst i tworzy jeden wspólny łańcuch znaków. Dzięki temu do dokumentu zostanie wypisane zdanie razem z wartością 3.14. To jest typowy mechanizm używany np. przy budowaniu komunikatów dla użytkownika, wyników obliczeń albo prostych podsumowań danych. Warto też zauważyć średnik na końcu instrukcji. W JavaScript często nie jest absolutnie wymagany przez mechanizm ASI, ale w praktyce branżowej średniki pomagają uniknąć niejednoznaczności i poprawiają czytelność kodu. Moim zdaniem dobrze jest się tego trzymać, szczególnie na początku nauki. Sama metoda document.write() działa, ale w nowoczesnych projektach częściej stosuje się manipulację DOM, np. textContent albo innerHTML, bo document.write() może nadpisać dokument, jeśli zostanie użyte po załadowaniu strony. Do nauki składni i operatorów ten przykład jest jednak bardzo sensowny.
W błędnych zapisach problemem jest przede wszystkim niezrozumienie, że JavaScript wymaga poprawnego operatora albo separatora między wartościami. Nie można po prostu postawić obok siebie napisu i liczby w wywołaniu funkcji, licząc na to, że interpreter sam się domyśli, co z nimi zrobić. Zapis w stylu document.write("tekst" 3.14); jest składniowo niepoprawny, bo między literałem tekstowym a liczbą brakuje operatora, przecinka albo innego poprawnego elementu języka. Parser JavaScriptu nie traktuje samej spacji jako znaku łączenia danych. Spacja poprawia czytelność, ale nie wykonuje żadnej operacji.

Mylenie kropki z operatorem łączenia to też dość częsty błąd, szczególnie u osób, które wcześniej widziały składnię innych języków. W JavaScript kropka służy głównie do dostępu do właściwości i metod obiektów, np. document.write albo Math.PI. Nie jest operatorem konkatenacji tekstu. Próba użycia kropki między tekstem a liczbą nie oznacza „doklej”, tylko prowadzi do niepoprawnej składni, bo po kropce oczekuje się nazwy właściwości, a nie zwykłej liczby zapisanej w ten sposób.

Średnik wewnątrz nawiasów funkcji również nie łączy argumentów. Średnik kończy instrukcję, więc w środku listy argumentów funkcji powoduje błąd składniowy. Jeśli chcemy przekazać kilka argumentów, używa się przecinków, choć w tym konkretnym zadaniu chodziło o utworzenie jednego tekstu wynikowego. Najbezpieczniejszym i najbardziej czytelnym rozwiązaniem jest operator + albo w nowoczesnym kodzie szablony tekstowe, np. `Liczba π ≈ ${3.14}`. Z mojego doświadczenia takie drobiazgi składniowe są ważne, bo później dokładnie te same zasady wracają przy obsłudze formularzy, komunikatów walidacyjnych i dynamicznym wypisywaniu danych na stronie.

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.