Середній
+50 XP

👋 Починай вчитися JavaScript прямо зараз — безкоштовно!

📖

Scope і замикання (closures)

Зрозумій де «живе» змінна і як замикання запам'ятовують контекст

🏠

Scope = зона видимості змінної

Уяви будинок з кімнатами. Змінна оголошена в кімнаті (функції) — видна тільки в ній. Змінна в коридорі (глобально) — видна скрізь. Але з кімнати можна «виглянути» в коридор, а з коридору не можна зазирнути в кімнату.

javascript
💬

Функція бачить змінні зовні, але зовні не видно що всередині функції.

let і const — блоковий scope

let і const живуть тільки всередині { } де оголошені:

javascript
if (true) {
  let blockVar = "блок";
  console.log(blockVar); // ✅ працює
}
// console.log(blockVar); // ❌ не видна поза блоком

var — старий спосіб, живе у функції (не в блоці) — саме тому зараз використовують let/const.

Замикання (closure)

Замикання — це функція, яка запам'ятовує змінні з місця де була створена:

javascript
💬

Внутрішня функція 'замкнула' в собі змінну count. Кожен виклик збільшує той самий count.

Замикання — одна з найпотужніших концепцій JavaScript. Вони використовуються для: приватних змінних, фабрик функцій, мемоізації. Не переживай якщо не відразу зрозуміло — це приходить з практикою.

Коментарі

Увійти або Почати щоб залишити коментар.