I have this code in js bin:
var validator = {
set (target, key, value) {
console.log(target);
console.log(key);
console.log(value);
if(isObject(target[key])){
}
return true
}
}
var person = {
firstName: "alfred",
lastName: "john",
inner: {
salary: 8250,
Proffesion: ".NET Developer"
}
}
var proxy = new Proxy(person, validator)
proxy.inner.salary = 'foo'
if i do proxy.inner.salary = 555;
it does not work.
However if i do proxy.firstName = "Anne"
, then it works great.
I do not understand why it does not work Recursively.
You can add a
get
trap and return a new proxy withvalidator
as a handler: