KWALIFIKACJA INF3 - CZERWIEC 2016

PYTANIE NR 31.
Zapis w języku JavaScript

var napis1= new napisy();

ma za zadanie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Zapis var napis1 = new napisy(); deklaruje zmienną napis1 i tworzy nowy obiekt (instancję) przez wywołanie konstruktora/klasy napisy z użyciem operatora new. Nie tworzy nowej klasy ani nie wywołuje metody istniejącego obiektu.

Pełne wyjaśnienie:

Wyrażenie var napis1 = new napisy(); składa się z dwóch kluczowych części:

  • var napis1 – deklaruje zmienną o nazwie napis1 (w starszym stylu JavaScript; dziś często stosuje się let lub const).
  • new napisy() – używa operatora new, aby utworzyć nowy obiekt (instancję). W praktyce oznacza to, że wywoływany jest konstruktor (funkcja konstruktorowa lub klasa) o nazwie napisy, a wynik (nowo utworzony obiekt) zostaje przypisany do zmiennej napis1.

Dlatego poprawna interpretacja to: utworzenie obiektu przypisanego do zmiennej napis1, będącego instancją konstruktora/klasy napisy.

Pozostałe odpowiedzi są błędne z typowych powodów:

  • Stwierdzenie o wywołaniu metody obiektu myli konstruktor z metodą. Zapis napisy() jest tu wywołaniem konstruktora w kontekście new, a nie metodą istniejącego obiektu (brakuje np. zapisu typu obiekt.metoda()).
  • Stwierdzenie o utworzeniu nowej klasy jest niepoprawne, bo klasy nie tworzy się przez new. Operator new tworzy instancje, a definicja klasy (w nowoczesnym JS) używa składni class.
  • Odpowiedź o wywołaniu funkcji z argumentem nie pasuje do składni: w tym zapisie nie ma przekazywanego argumentu (nawiasy są puste), a napis1 nie jest argumentem wywołania, tylko nazwą zmiennej po lewej stronie przypisania.

Wskazówka egzaminacyjna: gdy widzisz schemat zmienna = new Nazwa(), myśl "instancja obiektu", a nie "klasa" czy "metoda".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator new tworzy nowy obiekt (instancję) na podstawie konstruktora/klasy i wywołuje ten konstruktor. W efekcie dostajesz obiekt z ustawionym prototypem oraz zainicjalizowanymi polami, a wynik przypisujesz np. do zmiennej.
Czytaj go jako: deklaruję zmienną x i tworzę nową instancję obiektu przez wywołanie konstruktora/klasy Y. Najważniejszym sygnałem jest obecność operatora new.
Klasa (albo funkcja konstruktorowa) musi być wcześniej zdefiniowana. Operator new nie definiuje klasy, tylko tworzy obiekt na jej podstawie. Definicja klasy w nowoczesnym JS używa składni class, a nie new.
Nie. Wywołanie metody ma zwykle postać obiekt.metoda(). W zapisie new napisy() wywoływany jest konstruktor (nazwa funkcji/klasy), a nie metoda na już istniejącym obiekcie.
var deklaruje zmienną o zasięgu funkcyjnym (lub globalnym) i może być hoistowana. W nowoczesnym kodzie częściej spotkasz let lub const, ale w pytaniu var po prostu wprowadza nazwę zmiennej, do której przypisujesz obiekt.
Najczęściej używa się const, gdy nie planujesz zmieniać referencji (np. obiektu przypisanego do zmiennej), a let, gdy wartość ma się zmieniać. var bywa źródłem błędów przez hoisting i brak zasięgu blokowego.
Instancja to konkretny obiekt utworzony na podstawie konstruktora/klasy. Ma własne dane (pola) i może korzystać z metod z prototypu. W zapisie new napisy() instancją jest wynik działania operatora new.
Jeśli w treści jest new, to prawie zawsze chodzi o tworzenie obiektu, a nie klasy. "Tworzenie klasy" wymaga składni definicji (np. słowa kluczowego class) lub deklaracji funkcji konstruktorowej, a nie samego operatora new.
Nie muszą. Puste nawiasy oznaczają wywołanie konstruktora bez argumentów. Gdy konstruktor przyjmuje parametry, przekazuje się je w nawiasach, np. new Osoba("Jan"). W pytaniu brak argumentów nie zmienia faktu tworzenia instancji.
Typowe błędy to: mylenie konstruktora z metodą, uznanie że new "tworzy klasę", ignorowanie roli new i traktowanie zapisu jako zwykłego wywołania funkcji, oraz nieodróżnianie nazwy zmiennej po lewej stronie od nazwy konstruktora po prawej.
info

Statystycznie 57% uczniów zna prawidłową odpowiedź. średnie

W praktyce zawodowej kluczowe jest to, że zapis var napis1 = new napisy(); deklaruje zmienną napis1 i tworzy nowy obiekt (instancję) przez wywołanie konstruktora/klasy napisy z użyciem operatora new.

Źródła:

  • MDN Web Docs: "new operator" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new (dostęp: 2026-02-27)
  • MDN Web Docs: "var" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var (dostęp: 2026-02-27)
  • MDN Web Docs: "Classes" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MDN o operatorze new i funkcjach konstruktorach
  • Kurs podstaw JavaScript (zakres: zmienne, funkcje, obiekty, prototypy/klasy)
  • Ćwiczenia praktyczne: tworzenie własnych konstruktorów i instancji, porównanie var/let/const

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego