Замыкания в JavaScript с примерами. Фундаментальный JavaScript

preview_player
Показать описание
Исторически тема замыканий (closure) одна из самых труднопонимаемых в JavaScript. Поэтому в этом видео мы разберем ее максимально подробно - порисуем и разберем несколько примеров.

По сути, когда речь идет о замыкании, это значит, что какая-то функция в результате своей работы возвращает (через оператор return) новую функцию, которая в свою очередь "запоминает" всю информацию об окружавших её переменных. Давайте разбираться!

#javascript #замыкание
__
Мои курсы по вебу с купонами:

📢 Поддержка канала:
Рекомендации по теме
Комментарии
Автор

Отличное видео, которое показывает, как все работает изнутри, а это и есть самое важное! Спасибо большое!!!

tanyatritelnitskaya
Автор

спасибо за объяснения работы замыкания изнутри!было интересно, нужно еще пару раз посмотреть чтобы все уловить)

ВикаОношко-лж
Автор

Молодец, что в объяснении затронул Scopes. Спасибо!

pfk
Автор

спасибо за урок. не знал, что можно передать функцию в качестве аргумента

nolightnohope
Автор

Способ, с помощью которого я навсегда запомнил замыкания — это сравнение их с рюкзаком. Когда функция создана и передаётся куда-либо, или возвращается из другой функции, то она носит с собой рюкзак. А в этом рюкзаке хранятся все переменные, которые были в области видимости во время создания этой функции.

alexey_samokhin
Автор

Спасибо большое за ваши старания ! С вашими уроками учёба становится легкой и супер интересной !

ekaterinaskrynnik
Автор

Лично у меня получилось понять замыкания, когда я продебажил все строчки кода и увидел как ведет себя js. Какая у него последовательность действий и что именно делают эти действия. Может кому-то это тоже поможет. Всем удачи! Михаилу спасибо за полезный контент.

unknown.
Автор

Михаил, спасибо большое, очень интересное и понятное объяснение 👍

alsusayfulina
Автор

отлично объясняешь, голос приятный. Молодец!

yantakushevich
Автор

Круто, спасибо! Давно хотел понять что такое мемоизация - как раз созрел )

surr
Автор

Я так и не пойму, контекст или же скоуп, это одно и тоже, что стэковый фрейм функции?(как в c# к примеру
)

СергейМельниченко-уп
Автор

Было бы хорошо обсудить пример с каунтером.
function useCounter() {

let state = 0

function inc() {
state++
}

function dec() {
state--
}

return [state, dec, inc]
}

counter // 0
increment()
counter // 0

Как сделать так, что бы возвращалось обновленное значение каунтера?

P.s. функцию не предлагать.

v.demchenko
Автор

Чтобы лучше понимать как работают замыкания, стоит сначала разобраться как работает "сборщик мусора" в js... это напрямую связанные вещи

AndrewFloatrx
Автор

Честно говоря я не понял, остались вопросы. Пойду дальше искать видео, где разъясняют для совсем отсталых.

ruslanhd
Автор

В самом первом примере, консоль выводит ошибку: Uncaught TypeError: helloWorld is not a function
Если написать такой код:

function createFn() {
function greeting() {
console.log('hello world');
}
return greeting();
}

const helloWorld = createFn();
console.log(typeof helloWorld);

helloWorld();

При этом console.log(typeof helloWorld); выдает: undefined

В чём дело?

АлексейСоколов-эк
Автор

а при использовании стрелочных функций?

romanmed
Автор

Очень многословное объяснение. Уводящее внимание слушателя от сути.
Такое чувство, что жабастриптизёры сами не понимают, как работает язык

cyrilanisimov
Автор

иллюстрация еще больше путает смотрящего... кто не понимает что такое Замыкание может еще больше запутаться... это можно лучше и проще объяснить просто на словах. Есть ролики на эту тему более развернутые. Но за видео спасибо, у вас много полезных роликов...

pogrebnoimaksim