let
Deklaruje zmienną o zasięgu blokowym, której wartość można później zmienić.
Przykład
#let level = 1
let points = 0
points += 120
if (points >= 100) {
level = 2
}
console.log(level, points)Definicja i zastosowanie
#Słowo kluczowe let tworzy zmienną, której wartość możesz nadpisywać w trakcie działania programu. Nadaje się do liczników, sum, flag i wszystkiego, co zmienia się krok po kroku.
Zmienna z let żyje tylko w bloku, w którym ją zadeklarowano, czyli między najbliższymi nawiasami klamrowymi { }. Poza blokiem if, pętli czy funkcji po prostu jej nie ma, więc nie nadpiszesz przypadkiem zmiennej o tej samej nazwie z innej części kodu.
Zmiennej nie można użyć przed linią deklaracji. Ten fragment kodu nazywa się martwą strefą czasową (TDZ), a próba odczytu kończy się błędem ReferenceError. W jednym bloku nie zadeklarujesz też dwa razy zmiennej o tej samej nazwie.
Składnia
#let name
let name = value
let name1 = value1, name2 = value2Więcej przykładów
#let message = 'poza blokiem'
if (true) {
let message = 'wewnątrz bloku'
console.log(message)
}
console.log(message)try {
console.log(score)
} catch (error) {
console.log(error.name)
}
let score = 50
console.log(score)const callbacks = []
for (let i = 0; i < 3; i++) {
callbacks.push(() => i)
}
console.log(callbacks.map((callback) => callback()))Gdyby licznik był zadeklarowany przez var, wszystkie funkcje dzieliłyby jedną zmienną i zwróciłyby 3.
Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Zaczynaj od
const. Zamień naletdopiero wtedy, gdy zmienna naprawdę musi dostać nową wartość, na przykład jako licznik albo suma. - Deklaruj zmienną jak najbliżej miejsca, w którym jej używasz. Im mniejszy zasięg, tym mniej miejsc, w których coś może ją nadpisać.
- Chcąc zmienić wartość, napisz samo przypisanie
points = 10. Ponownelet pointsw tym samym bloku to błąd składni.
Powiązane hasła
#- constDeklaruje stałą o zasięgu blokowym. Takiej zmiennej nie można ponownie przypisać wartości.
- varDeklaruje zmienną o zasięgu funkcji. To starszy sposób, dziś zastąpiony przez let i const.
- if...elseWykonuje blok kodu tylko wtedy, gdy warunek jest prawdziwy, a w przeciwnym razie opcjonalny blok else.
- forPętla z licznikiem: inicjalizacja, warunek i krok. Powtarza blok kodu, dopóki warunek jest prawdziwy.
Widzisz błąd albo brakuje przykładu? Napisz do nas.