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.