KWALIFIKACJA INF3 - CZERWIEC 2018

PYTANIE NR 35.
O przedstawionym obiekcie języka JavaScript można powiedzieć, że ma
var obiekt1 = { x: 0, y: 0, wsp: function() { … }
}
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W literałowej definicji obiektu każda para klucz–wartość jest właściwością, a gdy wartością jest funkcja, mówimy o metodzie.
W obiekcie są klucze x i y z wartościami liczbowymi (właściwości) oraz wsp z wartością typu funkcja (metoda).

Pełne wyjaśnienie:

W JavaScript obiekt jest zbiorem par klucz–wartość zapisanych np. w notacji literałowej { ... }. Każdy wpis (np. x: 0) jest właściwością obiektu. O tym, czy dana właściwość jest jednocześnie metodą, decyduje typ jej wartości: jeśli wartością jest funkcja, to taka właściwość pełni rolę metody, bo można ją wywołać nawiasami.

W podanym obiekcie występują trzy klucze: x, y oraz wsp. Wpisy x: 0 i y: 0 przechowują liczby, więc są to zwykłe właściwości przechowujące stan/dane. Wpis wsp: function() { … } ma po prawej stronie funkcję, dlatego jest to metoda (czyli właściwość, którą wywołujemy jak funkcję), np. obiekt1.wsp().

  • Odpowiedź "trzy właściwości." jest nieprecyzyjna względem typowego rozróżnienia egzaminacyjnego: owszem, każda metoda jest właściwością, ale w zadaniu rozdziela się je na "właściwości" (dane) i "metody" (funkcje).
  • Odpowiedź "dwie metody i jedną właściwość." jest błędna, bo tylko jedna wartość jest funkcją, a pozostałe dwie to liczby.
  • Odpowiedź "trzy metody." jest błędna, ponieważ metody musiałyby mieć wartości będące funkcjami, a tutaj dwie wartości są liczbami.

Wskazówka do nauki: gdy widzisz w obiekcie zapis z function (lub funkcję strzałkową), traktuj to jako metodę. Gdy widzisz liczbę, tekst, wartość logiczną, tablicę lub inny obiekt – to właściwość przechowująca dane.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Właściwość to para klucz–wartość należąca do obiektu, np. x: 0. Wartością może być liczba, tekst, obiekt, tablica itp. Do właściwości zwykle odwołujesz się przez kropkę, np. obiekt1.x.
Metoda to taka właściwość, której wartością jest funkcja, np. wsp: function() { ... }. Można ją wywołać nawiasami, np. obiekt1.wsp(). W praktyce metoda opisuje zachowanie obiektu.
Sprawdź, czy po dwukropku jest funkcja. Jeśli widzisz function (albo zapis funkcji strzałkowej), to jest to metoda. Jeśli po dwukropku jest liczba/tekst/boolean/obiekt, traktuj wpis jako właściwość z danymi.
Ponieważ pod kluczem wsp przechowywana jest funkcja. Funkcja jako wartość właściwości może zostać wywołana, np. obiekt1.wsp(). To typowy wzorzec: dane w właściwościach, logika w metodach.
Najpierw policz klucze w literałowym obiekcie: x, y, wsp. Potem sprawdź typy wartości: x i y to liczby (właściwości), a wsp to funkcja (metoda). Wynik: 2 właściwości i 1 metoda.
Tak. W ujęciu technicznym metoda to szczególny przypadek właściwości (właściwość przechowująca funkcję). W zadaniach egzaminacyjnych często jednak rozróżnia się je na "właściwości" (dane) i "metody" (funkcje), aby sprawdzić rozumienie.
Najczęstsze pomyłki to: brak przecinka między wpisami, błędna nazwa słowa kluczowego function, brak dwukropka po kluczu albo niedomknięcie nawiasów klamrowych { }. Każdy z nich może spowodować błąd parsowania kodu.
Możesz użyć notacji nawiasowej, np. obiekt1["x"]. Jest przydatna, gdy nazwa klucza jest w zmiennej albo zawiera znaki niewygodne dla notacji z kropką. Dla metody analogicznie: obiekt1["wsp"]().
Gdy chcesz połączyć dane i operacje na nich w jednym miejscu. Przykładowo obiekt konfiguracji może mieć właściwości z ustawieniami i metodę do walidacji; obiekt modelu może trzymać stan formularza i metodę do przeliczeń/formatowania.
Pułapką jest uznanie, że "skoro są trzy klucze, to są trzy właściwości" bez rozróżnienia, że funkcja oznacza metodę. Inna pułapka to mylenie liczby właściwości z liczbą metod przez nieuwagę w odczytaniu typu wartości po dwukropku.
info

Około 60% zdających odpowiada poprawnie na to pytanie. średnie

Źródła:

  • ECMA-262 (ECMAScript Language Specification) – rozdziały dot. składni funkcji i obiektów (Function Definitions / Object Initializer), https://tc39.es/ecma262/ - dostęp 2026-03-13
  • MDN Web Docs – "Object initializer" (literał obiektu), https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer - dostęp 2026-03-13
  • MDN Web Docs – "Functions" (definicje i składnia function), https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions - dostęp 2026-03-13

Materiały:

  • Dokumentacja MDN: JavaScript Objects (właściwości i metody)
  • Dokumentacja MDN: Functions (składnia i definicje funkcji)
  • Specyfikacja ECMAScript (opis słowa kluczowego function i składni)

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego