Usare Proxy in Javascript
Proxy è un oggetto Javascript che ci permette di intercettare un altro oggetto per ridefinirne le operazioni / proprietà.
Non so quante volte vi capiterà di usarlo, ma è interessante conoscerlo.
Quindi ne vediamo un esempio partendo da questo:
const target = {
email: "email@email.it",
nome: "Mio nome"
};
const handler = {};
const proxy = new Proxy(target, handler);
console.log(proxy.email);
console.log(proxy.nome);
Essendo l'handler vuoto, non ridefiniamo nulla.
const target = {
email: "email@email.it",
nome: "Mio nome"
};
const handler = {
get(target, prop, receiver) {
return "Mattepuffo";
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.email);
console.log(proxy.nome);
In questo caso non controlliamo la proprietà di riferimento, e quindi sovrascriviamo entrambi i valori.
Infine:
const target = {
email: "email@email.it",
nome: "Mio nome"
};
const handler = {
get(target, prop, receiver) {
if (prop === 'nome') {
return "Mattepuffo";
}
return Reflect.get(...arguments);
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.email);
console.log(proxy.nome);
In questo caso ridefiniamo una proprietà, e con Reflect "prendiamo" gli originali delle altre.
Enjoy!
javascript proxy
Commentami!