Menu
Coddy logo textTech

Zakres blokowy – let i const

Lekcja 3 z 9 w kursie Podchwytliwe elementy nowoczesnego JavaScriptu (ES6+) w Coddy.

Czym jest zakres blokowy? A nawet wcześniej — czym jest zakres zmiennej? 

Zakres zmiennej to po prostu obszar, w którym dana zmienna jest dostępna, tzn. możemy używać zmiennej tylko w jej zakresie.

Zmienne przed ES6 były deklarowane za pomocą słowa kluczowego var. Takie zmienne miały tylko zasięg globalny i zasięg funkcji (lokalny).

W ES6 możemy deklarować zmienne za pomocą słów kluczowych let i const, które mają zakres blokowy. 

Blok to po prostu obszar ujęty w parę nawiasów klamrowych — otwierający i zamykający — wewnątrz którego możemy pisać kod JS, np. { // any code }.

{
  let x = 2;
}
// x NIE może być tutaj użyte
// ponieważ x nie jest dostępne poza powyższym blokiem

Podobnie jest w przypadku const, ponieważ również ma zakres blokowy.

Zmienne zadeklarowane za pomocą const muszą zostać zainicjalizowane i nie możemy zmienić ani przypisać nowej wartości po pierwszej inicjalizacji!

const pi = 3.14;
pi = 4.2 // Błąd, niedozwolone przypisanie do const

 

Jak wspomniano wcześniej, var nie ma zakresu blokowego, ale ma zasięg globalny lub zasięg funkcji.

{
  var x = 2;
}
// x MOŻE być tutaj używane, ponieważ x ma zasięg globalny

 

Oto kilka ważnych kwestii: 

  • Zmienne zdefiniowane za pomocą let / const nie mogą być deklarowane ponownie.
  • Zmienne zdefiniowane za pomocą let / const muszą zostać zadeklarowane przed użyciem.
  • Zmienne zdefiniowane za pomocą let / const nie mogą być przenoszone na początek zakresu.
challenge icon

Wyzwanie

Łatwy

Utwórz dwie zmienne wewnątrz podanej funkcji — name = "Coddy" przy użyciu let oraz age = 25 przy użyciu const. Wypisz te wartości za pomocą console.log().

Spróbuj swoich sił

function getInfo() {
    // Napisz tutaj kod
}

Wszystkie lekcje w sekcji Podchwytliwe elementy nowoczesnego JavaScriptu (ES6+)

Poćwicz samodzielnie: Kompilator JavaScript online