Замыкание - это механизм разрешения пространства имен внутри функции через служебное свойство [[scope]] у объекта-обертки этой самой функции, благодаря которому пространство имен родительских функций (вплоть до глобального) становится доступным внутри текущей.
тут формулировка зависит от того, кому посыл, если ученикам - то вот "по-крестьянски" как раз и надо говорить, а если на собесе - то максимуму умных слов и кратких формулировок, чтоб у интервьюера закипело при парсинге этого словесного стрима)))