KWALIFIKACJA INF3 - STYCZEŃ 2024

PYTANIE NR 32.
W języku JavaScript zdefiniowano obiekt. Aby dalej w kodzie modyfikować wartość właściwości x obiektu, należy zapisać
Ilustracja przedstawia fragment kodu w języku JavaScript, który definiuje obiekt o nazwie 'obiekt1'.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny zapis modyfikacji właściwości obiektu w JavaScript używa notacji kropkowej:
obiekt1.x = ...

Pozostałe propozycje albo odwołują się do innej zmiennej, albo przypisują wartość do samego identyfikatora x, a nie do właściwości obiektu, albo stosują niepoprawną składnię.

Pełne wyjaśnienie:

W JavaScript właściwości obiektów modyfikuje się przez wskazanie konkretnego obiektu i nazwy jego właściwości. Najczęściej stosuje się notację kropkową:

obiekt1.x = ...

Taki zapis oznacza: "w obiekcie przechowywanym w zmiennej obiekt1 ustaw wartość właściwości x". To jest poprawna i standardowa składnia do przypisywania nowej wartości property.

Dlaczego pozostałe odpowiedzi są błędne?

  • wsp.x = ... – to byłoby poprawne tylko wtedy, gdyby istniała zmienna wsp wskazująca na właściwy obiekt. W treści pytania mowa jest o obiekcie, którego właściwość x chcemy zmieniać; bez kontekstu "wsp" jest inną (niezdefiniowaną) nazwą.
  • x = ... – ten zapis zmienia wartość zmiennej x (lub tworzy ją w zależności od trybu), ale nie modyfikuje właściwości obiektu. To typowa pomyłka: mylenie zmiennej z właściwością.
  • obiekt1::x = ... – w JavaScript nie używa się operatora :: do dostępu do właściwości. To przykład interferencji składni z innych języków.

W praktyce warto pamiętać także o alternatywie: notacja nawiasowa obiekt1["x"], przydatna, gdy nazwa właściwości jest w zmiennej lub nie jest poprawnym identyfikatorem. W tym zadaniu oczekiwany jest jednak prosty, bezpośredni zapis z kropką.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najczęściej używa się notacji kropkowej: obiekt.wlasciwosc = wartość, np. user.age = 18. Alternatywnie można użyć notacji nawiasowej, gdy nazwa właściwości jest w zmiennej: user[prop] = 18.
To przypisanie nowej wartości do właściwości x w obiekcie przechowywanym w zmiennej obiekt1. Jeśli właściwość nie istniała wcześniej, zwykle zostanie utworzona (zależnie od konfiguracji obiektu, np. uszczelnień).
Zapis x = 5 dotyczy zmiennej o nazwie x, a nie pola obiektu. Aby zmienić właściwość, musisz wskazać obiekt, np. obiekt1.x albo obiekt1["x"]. To częsta pomyłka na początku nauki.
Podstawowe sposoby to: notacja kropkowa (obj.x) oraz notacja nawiasowa (obj["x"] lub obj[prop]). Nawiasy są konieczne, gdy nazwa property jest w zmiennej lub zawiera znaki niedozwolone w identyfikatorach.
Gdy nazwa właściwości jest dynamiczna (np. w zmiennej) lub nie jest poprawnym identyfikatorem, np. zawiera myślnik: obj["first-name"]. Notacja kropkowa działa tylko dla nazw będących poprawnymi identyfikatorami: obj.firstName.
Nie. Operator :: nie jest standardową składnią dostępu do właściwości w JavaScript. Poprawne formy to obiekt1.x albo obiekt1["x"]. Jeśli widzisz ::, to zwykle pochodzi z innych języków i nie pasuje do JS.
Sprawdź nazwę obiektu po lewej stronie kropki. Jeśli pytanie mówi o obiekt1, to modyfikacja powinna zaczynać się od obiekt1.. Zapis typu wsp.x dotyczy obiektu w zmiennej wsp, czyli czegoś innego.
Notacja kropkowa jest najczęstsza w codziennym kodzie front-end i back-end JS, więc dobrze testuje podstawy. Pokazuje, czy zdający rozumie różnicę między zmienną a właściwością obiektu oraz potrafi poprawnie wykonać proste przypisanie.
Typowe błędy to: przypisywanie do samej zmiennej zamiast do property (x= zamiast obj.x=), literówki w nazwach obiektów, użycie składni z innych języków oraz brak świadomości, że property może nie istnieć (wtedy trzeba je utworzyć lub sprawdzić).
Najlepiej w konsoli przeglądarki: twórz obiekty, dodawaj i zmieniaj właściwości, np. let a={x:1}; a.x=2; oraz testuj notację nawiasową z nazwą w zmiennej. Rozwiązuj też krótkie testy z odróżniania składni JS od składni innych języków.
info

Około 70% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Źródła:

  • MDN Web Docs: "Working with objects" (sekcja o dostępie i przypisywaniu właściwości) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_objects - accessed 2026-02-18
  • MDN Web Docs: "Property accessors" (dot notation i bracket notation) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors - accessed 2026-02-18
  • ECMAScript Language Specification (opis semantyki dostępu do właściwości i przypisań; rozdziały dot. MemberExpression/AssignmentExpression) https://tc39.es/ecma262/ - accessed 2026-02-18

Materiały:

  • Dokumentacja MDN: praca z obiektami w JavaScript
  • Ćwiczenia: tworzenie obiektów i modyfikacja ich właściwości w konsoli przeglądarki
  • Powtórka różnic: notacja kropkowa vs notacja nawiasowa (obj[prop])

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego