KWALIFIKACJA INF3 - CZERWIEC 2023 (test 2)

PYTANIE NR 7.
Który zapis tworzący tablicę w JavaScript jest niepoprawny składniowo?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Niepoprawny składniowo jest zapis
var liczby = new Array[1, 2, 3];
ponieważ po new Array do przekazania argumentów używa się nawiasów okrągłych (), a nawiasy kwadratowe [] służą m.in. do indeksowania. Pozostałe zapisy są poprawnymi sposobami utworzenia tablicy.

Pełne wyjaśnienie:

W JavaScript tablicę można utworzyć na kilka poprawnych sposobów. Najczęściej stosuje się literał tablicy, czyli zapis w nawiasach kwadratowych, np. var liczby = [1, 2, 3]; Taki zapis tworzy tablicę z trzema elementami.

Można też użyć konstruktora Array z operatorem new. Gdy przekazujemy kilka wartości początkowych, argumenty podajemy w nawiasach okrągłych, np. var liczby = new Array(1, 2, 3); Jest to poprawna składnia wywołania konstruktora.

Zapis var liczby = new Array[1, 2, 3]; jest błędny składniowo, bo miesza dwie różne role nawiasów. Po nazwie konstruktora nie używa się nawiasów kwadratowych do przekazywania listy argumentów. Nawiasy [] w JavaScript służą m.in. do dostępu do elementu (indeksowania) lub tworzenia literału tablicy, ale nie zastępują nawiasów () w wywołaniu konstruktora.

Dlaczego pozostałe odpowiedzi są poprawne?

  • var liczby = [1, 2, 3];
    – poprawny literał tablicy, standardowy zapis.
  • var liczby = [3];
    – również poprawny literał tablicy; tworzy tablicę z jednym elementem o wartości 3 (to nie jest "tablica długości 3", bo długość jest wynikiem liczby elementów w literałach).
  • var liczby = new Array(1, 2, 3);
    – poprawne użycie konstruktora z trzema argumentami.

Wskazówka egzaminacyjna: jeśli widzisz new Nazwa(...), to argumenty zawsze są w nawiasach okrągłych. Nawiasy kwadratowe kojarz z literałem tablicy [...] albo dostępem do elementu tablica[i].

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Tablica (array) w JavaScript to uporządkowana kolekcja wartości dostępnych przez indeks. Służy np. do przechowywania list: liczb, napisów, obiektów czy wyników pobranych z API. Pozwala iterować po danych i wykonywać operacje typu map, filter, push.
Najprościej użyć literału tablicy: [1, 2, 3]. Alternatywnie można użyć konstruktora: new Array(1, 2, 3). Oba zapisy tworzą tablicę z trzema elementami; w praktyce literał jest czytelniejszy i częściej spotykany w kodzie.
Jest błędny, bo po new Array nie przekazuje się argumentów w nawiasach kwadratowych. Nawiasy () służą do wywołania konstruktora z argumentami, a [] to m.in. literał tablicy lub indeksowanie elementu. Taki miks powoduje błąd składni.
W tym konkretnym przypadku efekt jest podobny: powstaje tablica z trzema elementami. Różnica jest w stylu i w szczególnym zachowaniu konstruktora dla jednego argumentu liczbowego (np. new Array(3) tworzy tablicę o długości 3). Literał [3] tworzy tablicę z elementem 3.
Nie. Literał [3] tworzy tablicę z jednym elementem, którego wartość wynosi 3, więc długość to 1. Tablica "o długości 3" bez elementów pojawia się typowo przy konstruktorze, np. new Array(3). To częsta pułapka na egzaminach.
W praktyce najczęściej używa się literału [], bo jest prosty i czytelny. Konstruktor Array spotyka się rzadziej, np. w specyficznych przypadkach lub starszym kodzie. Na egzaminie ważniejsze jest rozpoznanie, że konstruktor wywołuje się z (), nie z [].
Literał tablicy zapisuje się w nawiasach kwadratowych: [ ... ], np. [1, 2, 3]. Nawiasy okrągłe ( ... ) służą do wywołań funkcji i konstruktorów, a klamry { ... } najczęściej do literałów obiektów.
Sprawdź, czy użyto właściwych nawiasów i czy konstruktor/funkcja ma poprawne wywołanie. Jeśli występuje wzorzec new Nazwa[... ], to zwykle jest podejrzane, bo new łączy się z wywołaniem w (). W literałach tablicy [...] nie ma słowa new.
Bo oba typy nawiasów pojawiają się w pracy z tablicami: [] tworzy tablicę lub służy do indeksowania, a () wywołuje funkcje i konstruktory (np. new Array(...)). Pod presją czasu łatwo przenieść nawyk "lista w []" na miejsce, gdzie wymagane jest wywołanie w ().
Najlepiej uruchamiać krótkie fragmenty w konsoli przeglądarki i obserwować wyniki oraz komunikaty błędów. Ćwicz pary pułapek: [3] vs new Array(3) oraz new Array(1,2,3) vs błędne mieszanie nawiasów. Powtarzaj aż rozpoznawanie stanie się automatyczne.
info

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

Specjaliści zwracają uwagę: "Niepoprawny składniowo jest zapis var liczby = new Array[1, 2, 3]; ponieważ po new Array do przekazania argumentów używa się nawiasów okrągłych (), a nawiasy kwadratowe [] służą m.in. do indeksowania."

Źródła:

  • MDN Web Docs: "Array" — sekcja "Constructor" i przykłady użycia, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array (dostęp: 2026-03-01)
  • MDN Web Docs: "Array" — sekcja "Array() constructor" (wywołania z argumentami), https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Array (dostęp: 2026-03-01)
  • MDN Web Docs: "Indexed collections" — omówienie tablic i sposobów tworzenia, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja MDN: Array (opis konstruktora i przykłady użycia)
  • Dokumentacja MDN: Gramatyka i typy w JavaScript (podstawy składni)
  • Podręcznik/notesy do INF.3: podstawy JavaScript – struktury danych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego