Що таке замикання в JavaScript
Сьогодні коротко дам відповідь на доволі популярне запитання на співбесідах на позицію JS/Frontend розробника, а саме, “Що таке замикання в JavaScript?”.
Приклад із поясненням замкнення
let outer = () => {
const Number = 20;
let inner = () => {
console.log("The number is " + Number)
};
return inner()
};
outer()
В даному коді оголошена функція outer(), у її локальній області видимості константа Number, а також функція inner(), що виводить в консоль надпис “The number is Number”.
В зовнішній функції ми повертаємо значення inner() , і, запустивши її, бачимо, що жодної проблеми не виникло, і внутрішня спокійно використала Number із зовнішньої області видимості. Отож, функція inner “замкнула” в собі змінну Number.
Отже, замкнення – це функція, яка зберігає в собі оточення, де вона задана.
Залишити відповідь