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

x = przedmiot.nazwa; Przedstawiony zapis w języku JavaScript oznacza, że

x = przedmiot.nazwa;
Przedstawiony zapis w języku JavaScript oznacza, że
A. nazwa jest metodą klasy x.
B. zmienna x będzie przechowywać wynik działania metody nazwa.
C. zmienna x będzie przechowywać wartość właściwości nazwa obiektu przedmiot.
D. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
Zapis x = przedmiot.nazwa; oznacza odczytanie właściwości nazwa z obiektu przedmiot i przypisanie jej wartości do zmiennej x. Kropka w JavaScript służy tutaj do dostępu do składowej obiektu, czyli do pola albo metody, ale samo użycie nazwy bez nawiasów nie uruchamia funkcji. Jeżeli obiekt wyglądałby tak: const przedmiot = { nazwa: 'Monitor', cena: 600 };, to po wykonaniu x = przedmiot.nazwa; zmienna x będzie miała wartość 'Monitor'. To jest bardzo typowy zapis w pracy z obiektami, danymi JSON, elementami DOM czy odpowiedziami z API. Moim zdaniem warto mocno zapamiętać różnicę między przedmiot.nazwa a przedmiot.nazwa(), bo w praktycznym kodzie webowym takie pomyłki szybko powodują błędy. Zgodnie z dobrymi praktykami JavaScript nazwy właściwości powinny być czytelne i opisywać dane, np. user.email, produkt.cenaNetto, formularz.id. Taki zapis jest zgodny z notacją kropkową używaną standardowo w ECMAScript.
W tym zapisie łatwo pomylić właściwość z metodą, bo w JavaScript obiekty mogą przechowywać zarówno zwykłe dane, jak i funkcje. Jednak samo przedmiot.nazwa nie oznacza wywołania metody. Do uruchomienia metody potrzebne są nawiasy, na przykład przedmiot.nazwa(). Bez nawiasów JavaScript tylko pobiera wartość znajdującą się pod kluczem nazwa. Jeśli tą wartością jest tekst, liczba albo inny obiekt, zmienna x dostanie właśnie tę wartość. Jeśli akurat byłaby tam funkcja, to x przechowywałoby referencję do funkcji, ale nadal funkcja nie zostałaby wykonana. To drobny szczegół, a w realnym kodzie potrafi narobić zamieszania. Nie można też powiedzieć, że nazwa jest metodą klasy x, bo x występuje po lewej stronie operatora przypisania i jest zmienną, do której trafia wynik operacji. Nie jest tu klasą ani obiektem nadrzędnym. Błędne jest również myślenie, że wykonywana jest funkcja przedmiot. Wywołanie funkcji wyglądałoby jak przedmiot(), a tutaj mamy dostęp do składowej obiektu przez kropkę. Z mojego doświadczenia uczniowie często patrzą tylko na nazwę po kropce i zakładają, że to metoda, ale w JavaScript decydujące są nawiasy oraz to, jaka wartość faktycznie siedzi w danej właściwości. Poprawne rozumienie tej składni jest ważne przy obsłudze danych z API, konfiguracji aplikacji i manipulacji obiektami w kodzie front-endowym.

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.