let, const i unikanie var
Poznaj podstawy let i const, dowiedz się, dlaczego należy unikać var, oraz poznaj zakres blokowy i łagodne wprowadzenie do temporal dead zone (TDZ).
let, const i unikanie var to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Wprowadzenie
Cel: Należy swobodnie używać let i const, unikać przestarzałego var oraz rozumieć zakres blokowy i TDZ.
- let a const
- Zakres blokowy
- Bezpieczeństwo dzięki TDZ

Podstawy let i const
Zasada: Należy używać const, chyba że planowane jest ponowne przypisanie wartości; w przeciwnym razie należy wybrać let.
// Prefer const by default; use let when you need to reassign
const appName = "CoddyKit";
// cannot reassign
let score = 0;
// can reassign
score = score + 1;
console.log("App:", appName);
console.log("Score:", score);

Dlaczego unikać var
Należy unikać var, ponieważ:
- ma zakres funkcji, a nie zakres blokowy;
- jest przenoszone na początek zakresu i przed deklaracją może odczytać wartość undefined;
- utrudnia refaktoryzację i zmniejsza przewidywalność kodu.

Przykład zakresu blokowego
Zakres blokowy pomaga utrzymywać zmienne lokalnie, a kod w porządku.
// Block scope: variables exist only inside the braces
let lives = 3;
if (true) {
const bonus = 10;
// only inside this block
let level = 2;
// only inside this block
console.log("Inside:", bonus, level);
}
console.log("Lives:", lives);
// The following would be ReferenceError if uncommented:
// console.log(bonus, level);

TDZ (bezpieczny przykład)
TDZ: zmiennej let/const nie można odczytać przed wierszem jej deklaracji, co zapobiega wielu błędom.
// TDZ: accessing let/const before declaration throws ReferenceError
try {
// Uncommenting next line would throw:
// console.log(theme);
// ReferenceError (TDZ)
let theme = "dark";
console.log("Theme after declare:", theme);
} catch (e) {
console.log("Caught:", e.message);
}

Nazewnictwo i wskazówki
Nazewnictwo:
- Należy używać jasnych rzeczowników dla danych (userName, score).
- Dla funkcji należy używać czasowników (computeTotal).
- Należy ograniczać zakres i deklarować zmienne blisko miejsca użycia.

Quiz: let a const
Szybkie sprawdzenie: zakres blokowy i ponowne przypisywanie wartości.

Podsumowanie
Podsumowanie: Należy preferować const, używać let, gdy konieczne jest ponowne przypisanie wartości, oraz unikać var. Zakres blokowy utrzymuje zmienne lokalnie, a TDZ chroni przed błędami wynikającymi ze zbyt wczesnego dostępu.

Często zadawane pytania
Czy lekcja „let, const i unikanie var” jest bezpłatna?
Tak — pełny tekst „let, const i unikanie var” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „let, const i unikanie var”?
Poznaj podstawy let i const, dowiedz się, dlaczego należy unikać var, oraz poznaj zakres blokowy i łagodne wprowadzenie do temporal dead zone (TDZ). Ćwiczysz JavaScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć JavaScript Academy?
Nie wymagamy żadnego doświadczenia. JavaScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „let, const i unikanie var”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji JavaScript Academy?
Tak. Każda lekcja JavaScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- let, const i unikanie var
- Zakres blokowy, funkcyjny i modułowy oraz TDZ
- Nazewnictwo, czytelność i typowe pułapki