Słowo kluczowe this w JavaScript wskazuje obiekt, w którego kontekście wykonywany jest dany fragment kodu (np. instancję klasy albo obiekt, dla którego wywołano funkcję jako metodę). Zapis this.zawod jest więc dostępem do składowej o nazwie zawod należącej do tego obiektu.
W tym pytaniu poprawna odpowiedź to metodę, czyli sytuacja, w której pod nazwą zawod znajduje się funkcja stanowiąca zachowanie obiektu (np. zdefiniowana w klasie lub przypisana do instancji). W praktyce metoda może być później wywoływana (np. przez dodanie nawiasów) albo przekazywana dalej jako referencja do funkcji – nadal pozostaje metodą obiektu, bo jest jego składową typu funkcja.
Dlaczego pozostałe odpowiedzi są błędne?
- Klasa – klasa jest definicją typu (np. class Osoba { ... }), a nie składową wskazywana przez this.nazwa. Zapis ten nie "oznacza klasy", tylko dostęp do członka konkretnej instancji/obiektu.
- Konstruktor – konstruktor to specjalna metoda uruchamiana przy tworzeniu obiektu (np. constructor(...) w klasie). Sam zapis this.zawod nie identyfikuje konstruktora; odwołuje się do członka o nazwie zawod, a nie do mechanizmu tworzenia obiektu.
- Właściwość – właściwość (pole) to składowa przechowująca dane (np. tekst, liczby). W JavaScript metoda jest w praktyce również wartością składowej (funkcją), co bywa źródłem pomyłek. W tym zadaniu chodzi jednak o rozpoznanie, że zawod jest elementem zachowania obiektu, czyli metodą.
Wskazówka egzaminacyjna: gdy analizujesz zapis this.nazwa, zawsze sprawdź w definicji obiektu/klasy, czy nazwa jest przypisana do funkcji (wtedy mówimy o metodzie), czy do danych (wtedy to właściwość/pole). Najczęstszy błąd to automatyczne wybieranie "właściwość" bez weryfikacji definicji.