После некоторого исследования я бы сказал, что да, похоже, что это связанные понятия.
Цепочка областей в JS поддерживает список контекстов выполнения (привязок переменных и т. П.) С контекстом текущей исполняемой области на одном конце цепочки и глобальной областью на другом. Создание замыкания, которое ссылается на свободную переменную, требует сохранения этого списка контекстов, пока замыкание достижимо.
Документация объекта Ruby Binding гласит:
Объекты класса Binding encapsulate
контекст выполнения в некоторых
конкретное место в коде и
сохранить этот контекст для будущего использования.
Переменные, методы, ценность себя,
и, возможно, блок итератора, который
могут быть доступны в этом контексте
все сохранено. Связующие объекты могут быть
созданы с использованием привязки Kernel # и
сделано доступным для обратного вызова
Ядро # set_trace_func.
Эти обязательные объекты могут быть переданы как
второй аргумент ядра # eval
метод, создание среды
для оценки.
Я не так много знаю о внутренностях того, как реализована привязка, но, похоже, она служит той же цели: сохранению контекста для будущей оценки.