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