W JavaScript obiekty przechowują pary nazwa własności → wartość. Aby odczytać wartość własności, najczęściej stosuje się notację kropkową, czyli zapis w postaci: nazwaObiektu.nazwaWłasności. Jeśli obiekt nazywa się "obiekt", a własność ma nazwę "w", to poprawny odczyt ma postać obiekt.w.
Dlaczego to działa? Notacja kropkowa wymaga, aby nazwa własności była poprawnym identyfikatorem (bez spacji i znaków specjalnych, nie zaczyna się od cyfry). Wtedy interpreter może jednoznacznie zinterpretować zapis jako dostęp do pola obiektu.
Pozostałe propozycje są niepoprawne składniowo lub pochodzą z innych konwencji:
- obiekt:w – dwukropek nie jest w JavaScript operatorem dostępu do własności. Dwukropek występuje m.in. w literałach obiektowych przy definiowaniu par klucz–wartość (np. przy tworzeniu obiektu), ale nie w odczycie w postaci "obiekt:coś".
- obiekt::w – podwójny dwukropek nie jest standardowym operatorem dostępu do pola obiektu w JS; taki zapis nie służy do pobierania własności.
- obiekt->w – operator "->" kojarzy się z innymi językami (np. C/C++), ale w JavaScript nie służy do dostępu do własności obiektu.
W praktyce warto pamiętać, że oprócz notacji kropkowej istnieje też notacja nawiasowa (z użyciem nawiasów kwadratowych) przy nazwach dynamicznych lub nietypowych. W tym zadaniu jednak poprawna jest forma kropkowa, bo testuje podstawową składnię dostępu do pola.