Proxy Javascript - это одно из понятий, с которым важно разобраться, если вы хотите понимать, как работают современные Javascript фреймворки (например, Vue.js или React).

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

Исходя из самого названия Proxy - это некая прослойка, некий посредник между одним и другим. Наверняка, вам знакомо такое понятие как проксирующий сервер. Это сервер, который находится в интернет и перенаправляет запросы. Запрос идет не напрямую к серверу, а от клиента к проксирующему серверу и от проксирующего сервера к самой точке назначения. Proxy - это некий посредник.

Также в Javascript. Proxy - это прослойка между каким-то объектом, который в нее оборачивается. 

Обернуть в эту прослойку мы можем объекты, функции, классы. 

Но, для чего же нам нужно оборачивать это в такую прослойку?

Дело в том, что очень часто нужно следить и выполнять какие действия в момент изменения каких-то данных. Либо когда с объектом происходит какое-то взаимодействие. Нам нужно поймать момент изменения данных и что-то сделать в этот момент. Например, перерисовать какой-то элемент на странице.

Proxy и позволяет отследить эти моменты и навешать какие-то действия в момент взаимодействия с этим объектом. Proxy предоставляет некий интерфейс взаимодействия с объектом. В него добавляются новые возможности, с помощью которых мы можем что-то с ним делать. 

Современные Javascript фреймворки используют Proxy для того, чтобы обеспечить реактивность данных. Когда меняются данные меняется их отображение на странице. Эта реактивность в современных Javascript фреймворках становиться возможным благодаря Proxy. 

Вот такая вводная теоретическая информация. Продолжение этой темы далее.