Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Algorytmy i podstawy informatyki JavaScript

Instrukcja przypisania elementu do tablicy w języku JavaScript dotyczy tablicy:

Tablica['technik'] = 'informatyk';
A. numerycznej.
B. wielowymiarowej.
C. statycznej.
D. asocjacyjnej.

Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.14-X-18.01).

Instrukcja Tablica['technik'] = 'informatyk'; dotyczy tablicy asocjacyjnej, ponieważ element jest identyfikowany za pomocą klucza tekstowego, a nie klasycznego indeksu liczbowego. W zapisie użyto klucza 'technik', do którego przypisano wartość 'informatyk'. Taki sposób kojarzy się z parą klucz-wartość, czyli czymś w stylu: pod nazwą technik przechowujemy tekst informatyk. Warto jednak znać ważny szczegół: w JavaScripcie klasyczne tablice są przede wszystkim indeksowane liczbami, np. Tablica[0] = 'informatyk'. Gdy użyjemy tekstowego klucza, JavaScript potraktuje tablicę bardziej jak obiekt i doda do niej właściwość. Dlatego w praktyce branżowej, zgodnie z dobrymi zwyczajami pisania czytelnego kodu, do takich danych lepiej używać obiektu, np. const zawod = { technik: 'informatyk' };. Moim zdaniem to jest jedna z tych rzeczy, które na początku trochę mylą, bo składnia z nawiasami wygląda jak zwykła tablica, ale sens jest asocjacyjny. W aplikacjach webowych taki zapis przydaje się przy przechowywaniu konfiguracji, słowników tłumaczeń, mapowania nazw pól formularza albo danych pobranych z API.
W podanym fragmencie najważniejsze jest to, że w nawiasach kwadratowych nie ma indeksu liczbowego, tylko tekstowy klucz 'technik'. Z tego powodu nie należy traktować tej instrukcji jako pracy na zwykłej tablicy numerycznej. Tablica numeryczna w JavaScripcie używa indeksów takich jak 0, 1, 2 i właśnie one wpływają na właściwość length. Przykład Tablica[0] = 'informatyk'; oznaczałby typowe przypisanie elementu do tablicy indeksowanej liczbą. Tutaj tak nie jest, więc myślenie „są nawiasy kwadratowe, czyli na pewno indeks liczbowy” prowadzi do złego wniosku. Nie chodzi też o tablicę statyczną, bo JavaScript standardowo tworzy tablice dynamiczne, których rozmiar może się zmieniać podczas działania programu. Pojęcie statycznej tablicy bardziej pasuje do języków, gdzie rozmiar struktury jest ustalony z góry, a nie do typowego kodu JS. Nie jest to również tablica wielowymiarowa, bo nie ma tu zagnieżdżenia w stylu Tablica[0][1] albo tablicy zawierającej inne tablice. W praktyce zapis z kluczem tekstowym przypomina tablicę asocjacyjną, czyli strukturę par klucz-wartość. Trzeba tylko pamiętać, że w nowoczesnym JavaScripcie do takiego przechowywania danych czytelniej i bezpieczniej stosuje się obiekty albo Map. To drobiazg, ale w większym projekcie bardzo pomaga, bo inni programiści od razu widzą intencję kodu.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.