W JavaScript programowanie obiektowe działa trochę inaczej niż w innych językach. W tym kodzie, zapis this.zawod wskazuje, że mamy do czynienia z metodą obiektu. Po prostu, metoda to funkcja przypisana do właściwości obiektu, która może korzystać z danych w obiekcie. Używając this, mamy dostęp do innych właściwości. W tym przypadku, funkcja pod this.zawod zwraca wartość this.technik, co ładnie pokazuje, jak metody mogą zmieniać dane obiektu. To jest właśnie cała filozofia programowania obiektowego, gdzie logika jest umieszczona w funkcjach związanych z danymi. To sprawia, że kod jest bardziej modułowy i łatwiejszy do ogarnięcia. W pracy w zespole dobrze jest, jak nazwy metod mówią, co robią, bo to bardzo pomaga innym zrozumieć, co się dzieje w kodzie.
Kod JavaScript używa funkcji do tworzenia obiektów, co może być mylące. Kiedy wskazujesz this.zawod, to pokazujesz, że to jest metoda, ale wybór odpowiedzi klasa jest nieprawidłowy. JavaScript nie działa z klasami jak w Javie czy C#. Klasy pojawiły się dopiero w ES6 jako taki dodatek do funkcji konstrukcyjnych. Odpowiedź metoda to w sumie strzał w dziesiątkę, bo w obiektach funkcja przypisana do właściwości to właśnie metoda, która działa na danych obiektu. Wybór konstruktor też jest błędny, bo konstruktor to specjalna funkcja do tworzenia nowych obiektów, i w naszym przykładzie to ta funkcja Uczen. Z kolei odpowiedź właściwość jest myląca, bo choć this.zawod to właściwość, która trzyma funkcję, to jest też metodą. Warto zrozumieć różnice między właściwościami a metodami, bo to jest kluczowe w programowaniu obiektowym w JavaScript.