dr.Brain

doctor Brain

мир глазами веб-разработчика

JavaScript: замыкание

объясняем сущность замыкания в JavaScript

dr.Brain

время чтения 1 мин.

Photo by Cristina Gottardi on Unsplash

Замыкание — это комбинация функции и лексического окружения, в котором эта функция была определена. В JavaScript замыкания создаются каждый раз во время создания функции. Способность замыканий заключается в запоминании переменных и функций, объявленных во внешней области видимости.

function showBiodata(){
  var employee = {
    name:"Rayn Dahl", 
    age:45,
    role: "Senior Programmer"
  };

  return function(){
    console.table(employee);
  }
}

var initClosure = showBiodata(); // Returns a function

initClosure(); 

В вышеприведенном коде функция showBiodata() присваивается переменной:

var initClosure = showBiodata();

После чего возвращаемая функция выполняется при вызове initClosure():

initClosure();

Результат:

  1. name: ‘Rayn Dahl’
  2. age: 45
  3. role: ‘Senior Programmer’

В showBiodata() вместо уничтожения значения employee сразу после выполнения функции, они сохраняются для дальнейшего использования. По этой причине возвращающая функция initClosure() может использовать переменную, объявленную во внешней области видимости, даже после того, как функция уже выполнена.

Cпособность функции сохранять переменную для дальнейшего использования даже после ее выполнения называется замыканием.


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.