我试图通过使用代理覆盖我的对象 getter 来打印出正在通过 getter 访问哪些节点。我试图基本上测试这个大对象的哪些部分没有被我的应用程序使用。我遇到的问题是能够添加一些方法来识别吸气剂父母是什么。这是我到目前为止所拥有的
function tracePropAccess(obj) {
return new Proxy(obj, {
get(target, propKey, receiver) {
console.log("Get fired on ", propKey);
return Reflect.get(target, propKey, receiver);
}
});
}
const testObj = {
a: 1,
b: {
a: "no",
b: "yes"
},
c: {
a: "green",
b: {
a: "blue",
b: "orange"
}
}
};
const tracer = tracePropAccess(testObj);
tracer.b.a;
tracer.a;
tracer.c.c.a;
这非常适合向我展示道具键 - 但它只是第一级的键。我不确定如何使用此代理来解决此问题,因为此单个函数会覆盖所提供对象中的所有代理。有没有办法可能传递对象父母/孩子?可能我也错误地处理了这个问题 - 所以我正在寻找任何输入。谢谢!