Docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
The `Proxy` object enables you to create a proxy for another object, which can intercept and redefine fundamental operations for that object.
Example:
```js
const handler = {
get(obj, prop) {
return prop in obj ?
obj[prop] :
37;
}
};
const p = new Proxy({}, handler);
p.a = 1;
p.b = undefined;
console.log(p.a, p.b);
// 1, undefined
console.log('c' in p, p.c);
// false, 37
```
[VueUse](https://vueuse.org/) uses this for [useMagicKeys](https://vueuse.org/core/useMagicKeys/) to create dynamic properties:
```js
const { Ctrl_A_B, space, alt_s /* ... */ } = useMagicKeys()
```
Here the `Ctrl_A_B` is split into `['Ctrl', 'A', 'B']`, the property name dynamically defines multiple keyboard keys to monitor for.