我已经从Object定义了一个代理,我想在代理get方法的最后一次调用中执行特定的操作。 因此,在console.log()中结果将为空,而不是“ Proxy({})”。
function safe(obj) {
return new Proxy(obj, {
get: function(target, name) {
const result = target[name];
if (!!result) {
res = (result instanceof Object)? safe(result): result;
return res;
}
/*if is last call:
//return null
//else
//return safe({});*/
return safe({});
}
});
}
var address = {
country: {
name: 'Germany'
}
}
var address1 = safe(address);
console.log(address1.country.city.name);