let

Deklaruje zmienną o zasięgu blokowym, której wartość można później zmienić.

Na tej stronie

Przykład

#
JavaScript
let level = 1
let points = 0

points += 120
if (points >= 100) {
  level = 2
}

console.log(level, points)
Konsola
2 120

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

#
Składnia
let name
let name = value
let name1 = value1, name2 = value2

Więcej przykładów

#
Zasięg blokowy
JavaScript
let message = 'poza blokiem'

if (true) {
  let message = 'wewnątrz bloku'
  console.log(message)
}

console.log(message)
Konsola
wewnątrz bloku
poza blokiem
Martwa strefa czasowa (TDZ)
JavaScript
try {
  console.log(score)
} catch (error) {
  console.log(error.name)
}

let score = 50
console.log(score)
Konsola
ReferenceError
50
Każdy obrót pętli ma własną zmienną
JavaScript
const callbacks = []

for (let i = 0; i < 3; i++) {
  callbacks.push(() => i)
}

console.log(callbacks.map((callback) => callback()))
Konsola
[0, 1, 2]

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ń na let dopiero 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. Ponowne let points w tym samym bloku to błąd składni.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.