Wie wird der Proxy-Handler vom Proxy-Objekt abgerufen?
Zum Beispiel, wenn ich diesen Handler / Proxy habe (von derMDN Beispiel) ...
var handler = {
get: function(target, name){
return name in target?
target[name] :
37;
}
};
var 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
ist es möglich, den Proxy zu testen,p
, auf irgendeine Weise, die es mir ermöglicht, das @ zu bekommhandler
Objekt zurück.
Etwas in der Art von:
p.__handler__ // returns handler object -> Object {get: handler.get(), set: handler.set(), ...}
p.__handler__.get // returns get prop/fn of handler -> function(target, name){ ...}
Natürlich sind die verschiedenen im Handler eingerichteten Traps dem Proxy noch "bekannt", aber gibt es eine eindeutige Möglichkeit, sie / den Handler vom Proxy selbst zurückzugeben? Wenn das so ist, wie
Ich habe derzeit keinen speziellen Anwendungsfall dafür, aber ich könnte dies als nützlich erachten, wenn Sie einen Handler / Traps dynamisch ändern möchten, nachdem Sie bereits einen Proxy haben.