Закриття в JavaScript простими словами

pic

Закриття (Closures) — це основна концепція в JavaScript, яка дозволяє функціям зберігати доступ до змінних з їх зовнішнього оточення, навіть після того, як зовнішня функція завершить виконання.

Що таке закриття (Closure) в JavaScript?

Закриття створюється, коли внутрішня функція зберігає доступ до змінних батьківської функції, навіть після завершення виконання батьківської функції.

Приклад закриття в JavaScript

function outerFunction(name) {  
 let greeting = "Hello, ";  
 return function innerFunction() {  
 console.log(greeting + name);  
 };  
}  

const sayHello = outerFunction("Alice");  
sayHello(); // Вивід: Hello, Alice

Як це працює?

  • Функція outerFunction виконується і визначає змінну greeting.
  • Вона повертає innerFunction, яка все ще має доступ до greeting і name.
  • Навіть після завершення виконання outerFunction, innerFunction зберігає доступ до свого лексичного оточення, утворюючи закриття (closure).

Чому закриття важливі в JavaScript?

Закриття широко використовуються в сучасних JavaScript додатках, зокрема:

  1. Приватність даних і інкапсуляція — запобігає прямому доступу до певних змінних.
  2. Фабрики функцій — створення кількох екземплярів функції з налаштованою поведінкою.
  3. Обробники подій (Event Handlers) і зворотні виклики (Callbacks) — збереження стану між викликами функцій.

Перекладено з: JavaScript Closures in Simple English

Leave a Reply

Your email address will not be published. Required fields are marked *