The ES6 Proxy API provides the proxy constructor to create proxies. The proxy constructor takes two arguments, which are:
- Target: This is the object that will be wrapped by the proxy
- Handler: This is an object that contains the traps for the target object
A trap can be defined for every possible operation on the target object. If a trap is not defined, then the default action takes place on the target. Here is a code example that shows how to create a proxy, and does various operations on the target object. In this example, we have not defined any traps:
const target = { age: 12 };
const handler = {};
const proxy = new Proxy(target, handler);
proxy.name = "Eden";
console.log(target.name);
console.log(proxy.name);
console.log(target.age);
console.log(proxy.age);
This outputs the following:
Eden
Eden
12
12
Here, we can see that the age property...