Правильно ли я понимаю что такое замыкание?
Замыкание - это когда замыкается
Шикарно. Осталось пояснить что означает "замыкается"
Чтобы понять и понять правильно, можно прочитать целиком страницу про Closure на Learn JavaScript ru.
Оттуда:Замыкания
В программировании есть общий термин: «замыкание», – которое должен знать каждый разработчик.Замыкание – это функция, которая запоминает свои внешние переменные и может получить к ним доступ. В некоторых языках это невозможно, или функция должна быть написана специальным образом, чтобы получилось замыкание. Но, как было описано выше, в JavaScript, все функции изначально являются замыканиями (есть только одно исключение, про которое будет рассказано в Синтаксис "new Function").
То есть, они автоматически запоминают, где были созданы, с помощью скрытого свойства [[Environment]] и все они могут получить доступ к внешним переменным.
Когда на собеседовании фронтенд-разработчик получает вопрос: «что такое замыкание?», – правильным ответом будет определение замыкания и объяснения того факта, что все функции в JavaScript являются замыканиями, и, может быть, несколько слов о технических деталях: свойстве [[Environment]] и о том, как работает лексическое окружение.