Сообщение от MallSerg
|
на каждый вызов функции создается контекст (окружение) для исполнения этой функции
|
Сообщение от MallSerg
|
Вот в новом стандарте и ввели способ это обойти вместо создания нового контекста используется уже существующий
|
Сообщение от MallSerg
|
создание уникального окружения (LexicalEnvironment) для каждой функции и делает возможным механизм замыкания
|
Сообщение от MallSerg
|
function вне глобальной области видимости получи оверхед на создание окружения для функции
|
бла бла бла, о каком окружении/контексте ты говоришь? о замыкании? но стрелочные функции способны делать замыкание также как и обычные функции, а по твоей логике нет.
let a = (() => {
let b = 7;
return () => { alert(b) }
})();
a();
И в замыкании функции остаются только те переменные из окружения на которые есть ссылки внутри функции, а не все существующие в окружении ее объявления как ты думаешь...