W JavaScript, aby "obsłużyć" zapis w stylu osoba.j = "PL", potrzebny jest kod, który faktycznie ustawia (modyfikuje) stan obiektu, czyli wykonuje przypisanie do odpowiedniej właściwości. Wskazana odpowiedź this.jezyk = nazwa; spełnia ten warunek: przypisuje przekazaną wartość (tu: "PL") do pola reprezentującego język.
Dlaczego pozostałe propozycje nie pasują do wymaganego efektu?
- this.j = nazwa; ustawia inną właściwość (o nazwie "j"). Jeżeli w definicji obiektu docelowym polem jest "jezyk", to ustawianie "j" nie zaktualizuje właściwej informacji i spowoduje niespójność danych (dwie różne właściwości zamiast jednej).
- return this.jezyk; nie ustawia wartości, tylko ją zwraca. To typowy błąd polegający na myleniu zapisu "setter" (ustaw) z "getter" (pobierz). Zwracanie wartości nie spowoduje, że obiekt zacznie przechowywać nowy język.
- return this.j; również tylko zwraca wartość, a dodatkowo dotyczy właściwości "j", nie "jezyk". W konsekwencji nie realizuje celu zadania: poprawnej obsługi przypisania języka do obiektu.
W praktyce warto zapamiętać prostą zasadę egzaminacyjną: gdy w zadaniu mowa o ustawieniu pola, poprawna odpowiedź zwykle zawiera przypisanie (operator =) do właściwości obiektu, a nie instrukcję return. Dodatkowo trzeba pilnować, by nazwa właściwości po lewej stronie przypisania była zgodna z modelem danych (np. "jezyk", a nie skrót "j"), jeśli zadanie zakłada mapowanie skrótu na pełną nazwę.