KWALIFIKACJA INF3 - CZERWIEC 2015

PYTANIE NR 28.
W JavaScript (ES6+) za pomocą których słów kluczowych deklaruje się zmienne?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W nowoczesnym JavaScript (ES6+) zmienne deklaruje się jawnie słowami kluczowymi var, let lub const. Deklaracja określa zasięg (funkcja/blok) i zapobiega tworzeniu niezamierzonych globali. W trybie 'use strict' użycie niezadeklarowanej zmiennej kończy się błędem.

Pełne wyjaśnienie:

W JavaScript zmienna powinna być zadeklarowana przed użyciem, a we współczesnym kodzie (ES6+) robi się to słowami kluczowymi: var, let albo const. Dzięki temu silnik wie, że tworzysz nową zmienną, a nie przypadkowo nadpisujesz nazwę w innym zakresie.

Poprawna odpowiedź: var, let lub const – są to trzy standardowe formy deklaracji. Różnią się zasięgiem i zachowaniem:

  • var ma zasięg funkcyjny i jest historycznie najstarsze.
  • let ma zasięg blokowy (np. wewnątrz instrukcji if/for).
  • const także ma zasięg blokowy i wymaga inicjalizacji; nie pozwala na ponowne przypisanie referencji.

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

  • "tylko var" – jest nieprawdą, bo ES6 wprowadził let i const, które są powszechnie zalecane (często nawet preferowane) w nowym kodzie.
  • "bez słów kluczowych, bezpośrednio przez przypisanie" – samo przypisanie (np. x = 5) nie jest poprawną deklaracją w nowoczesnym podejściu. W szczególności w trybie 'use strict' użycie niezadeklarowanej zmiennej powoduje błąd, co pomaga wykrywać literówki i przypadkowe globalne zmienne.
  • "poprzedzając nazwę znakiem $" – to skojarzenie z innymi językami (np. PHP). W JavaScript znak $ może być częścią nazwy identyfikatora, ale nie jest wymagany ani nie służy do deklaracji.

W praktyce egzaminacyjnej warto zapamiętać: deklaracja = var/let/const, a dobór między let/const zależy od tego, czy planujesz ponownie przypisywać wartość do zmiennej.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Deklaracja zmiennej to jawne utworzenie zmiennej w kodzie, np. let x; lub const y = 1;. Deklaracja określa też zasięg widoczności (blok/funkcja) i pomaga uniknąć przypadkowych zmiennych globalnych, szczególnie w trybie 'use strict'.
W ES6+ używa się trzech słów kluczowych: var, let oraz const. Najczęściej w nowym kodzie stosuje się const (gdy nie ma ponownego przypisania) albo let (gdy zmienna ma się zmieniać).
Samo przypisanie (np. x = 5) może prowadzić do niezamierzonego utworzenia lub użycia zmiennej globalnej. W trybie 'use strict' takie użycie niezadeklarowanej zmiennej kończy się błędem, co chroni przed literówkami i trudnymi do znalezienia błędami w aplikacji.
Można, ale zwykle nie jest to zalecane w nowoczesnym kodzie. var ma zasięg funkcyjny i inne zachowanie związane z wynoszeniem deklaracji, co bywa źródłem błędów. let i const dają bardziej przewidywalny zasięg blokowy.
let pozwala na ponowne przypisanie wartości do tej samej zmiennej (np. i = i + 1). const wymaga inicjalizacji i nie pozwala na ponowne przypisanie referencji. Uwaga: obiekt zadeklarowany jako const nadal może mieć zmieniane właściwości.
let stosuje się, gdy zmienna ma żyć tylko w obrębie bloku, np. wewnątrz for lub if. Dzięki zasięgowi blokowemu unikasz konfliktów nazw i przypadków, w których zmienna "wycieka" poza pętlę, co bywa problemem przy var.
Nie. Znak $ może występować w identyfikatorach, ale nie ma specjalnego znaczenia deklaracyjnego. To częste skojarzenie z innymi technologiami. W JavaScript o deklaracji decyduje użycie var, let lub const, a nie prefiks w nazwie.
Tryb ścisły ('use strict') zaostrza zasady i pomaga wychwycić błędy. Jednym z efektów jest to, że użycie niezadeklarowanej zmiennej (np. przez literówkę) powoduje błąd zamiast cichego utworzenia zmiennej globalnej. To zwiększa bezpieczeństwo i jakość kodu.
Najczęstsze pomyłki to: mylenie deklaracji z przypisaniem, wybieranie odpowiedzi "bez deklaracji" na podstawie starych przykładów oraz przenoszenie składni z PHP (np. obowiązkowy $). Warto pamiętać: ES6+ = var/let/const.
Ćwicz krótkie fragmenty kodu pokazujące zasięg blokowy i funkcyjny oraz przypadki ponownego przypisania. Naucz się reguły: const domyślnie, let gdy zmienna ma się zmieniać, var głównie dla zgodności ze starszym kodem. Zwracaj uwagę na 'use strict'.
info

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

W praktyce zawodowej kluczowe jest to, że w nowoczesnym JavaScript (ES6+) zmienne deklaruje się jawnie słowami kluczowymi var, let lub const.

Źródła:

  • ECMA-262 (ECMAScript Language Specification), sekcja o deklaracjach (w tym Declarations and the Variable Statement) – https://tc39.es/ecma262/ (dostęp: 24.02.2026)
  • MDN Web Docs: "let" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let (dostęp: 24.02.2026)
  • MDN Web Docs: "const" – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const (dostęp: 24.02.2026)

Materiały:

  • Dokumentacja ECMA-262 (specyfikacja ECMAScript) – rozdziały o deklaracjach
  • MDN Web Docs: var / let / const
  • Ćwiczenia z krótkimi fragmentami kodu pokazującymi zakres blokowy i funkcyjny

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego