25. Jaka jest różnica między 'let', 'const' i 'var' w JavaScript?

W JavaScript słowa kluczowe let, const i var służą do deklarowania zmiennych, ale różnią się zachowaniem pod względem zakresu, hoistingu i możliwości ponownego przypisania.

var

  • Zakres: var ma zakres funkcji, co oznacza, że jest dostępna w funkcji, w której została zadeklarowana, lub globalnie, jeśli nie znajduje się w funkcji.
  • Hoisting: Zmienne zadeklarowane za pomocą var są przenoszone na początek swojego bieżącego zakresu. Oznacza to, że deklaracja jest przesuwana na górę, ale nie inicjalizacja.
  • Możliwość ponownego przypisania: Zmienne zadeklarowane za pomocą var mogą być ponownie przypisane i aktualizowane.

Przykład:

function przykladVar() { console.log(x); // undefined var x = 10; console.log(x); // 10 } przykladVar();

let

  • Zakres: let jest blokowy, co oznacza, że jest dostępna tylko w bloku, instrukcji lub wyrażeniu, w którym jest używana.
  • Hoisting: let jest hoistowane, ale w przeciwieństwie do var, nie jest inicjalizowane. Dostęp do niego przed deklaracją powoduje błąd ReferenceError.
  • Możliwość ponownego przypisania: Zmienne zadeklarowane za pomocą let mogą być ponownie przypisane.

Przykład:

function przykladLet() { if (true) { let y = 20; console.log(y); // 20 } console.log(y); // ReferenceError: y is not defined } przykladLet();

const

  • Zakres: Podobnie jak let, const jest blokowy.
  • Hoisting: const jest również hoistowane, ale nie jest inicjalizowane, podobnie jak let.
  • Możliwość ponownego przypisania: Zmienne zadeklarowane za pomocą const nie mogą być ponownie przypisane. Jednak jeśli zmienna jest obiektem lub tablicą, właściwości lub elementy mogą być modyfikowane.

Przykład:

function przykladConst() { const z = 30; console.log(z); // 30 // z = 40; // TypeError: Assignment to constant variable. const tablica = [1, 2, 3]; tablica.push(4); console.log(tablica); // [1, 2, 3, 4] } przykladConst();

Podsumowanie

  • Używaj var, jeśli potrzebujesz zmiennych o zakresie funkcji (rzadko zalecane).
  • Używaj let dla zmiennych, które będą się zmieniać w czasie i mają zakres blokowy.
  • Używaj const dla zmiennych, które nie powinny być ponownie przypisane, zapewniając niemutowalność dla wartości prymitywnych.
Nie możesz znaleźć wspólnego terminu na spotkanie z przyjaciółmi? Sprawdź nasze narzędzie commondate.xyz
devFlipCards 2025

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.

Nie możesz znaleźć wspólnego terminu na spotkanie z przyjaciółmi? Sprawdź nasze narzędzie
commondate.xyz