В JavaScript объект Proxy
позволяет перехватывать и изменять поведение другого объекта, но иногда может возникнуть необходимость получить ссылку на сам объект, над которым установлен прокси. В этом случае можно использовать специальное свойство target
прокси, которое содержит ссылку на исходный объект.
Например, предположим, что у вас есть объект targetObject
, и вы создали прокси для него следующим образом:
const handler = { }; const proxy = new Proxy(targetObject, handler);
Теперь, чтобы получить ссылку на исходный объект targetObject
, достаточно использовать свойство target
прокси:
const target = proxy.target;
Теперь переменная target
содержит ссылку на исходный объект targetObject
, и с ней можно работать и выполнять любые операции, как с обычным объектом.
Нужно отметить, что свойство target
является нестандартным и спецификация ECMAScript не определяет его. Оно может поддерживаться только в конкретных реализациях JavaScript, таких как V8 в браузере Chrome или Node.js.
Более общие способы получения ссылки на объект в прокси могут зависеть от вашего конкретного случая использования прокси. Если требуется получить ссылку на объект в колбэках или методах get
/set
прокси, можно передавать ссылку на объект в контекст или аргументы функции через замыкание или контекст выполнения. Это позволит вам получить доступ к объекту внутри прокси в любом месте кода.