0
JavaScriptのProxy
オブジェクトを使用して、クラスのインスタンスへのプロパティアクセスをトラップするget()
ハンドラを作成しています。プロキシまたはターゲットからプロキシゲッターが呼び出されているかどうかを検出する
私は、プロキシがクラス内のメソッドによって呼び出されているのか、プロキシ自体によって呼び出されているのかによって、異なる動作をしたいと思います。
これは可能ですか?
EDIT:うまくいけば、私は何をしようとしている説明のいくつかのサンプルコード:
class Something {
constructor() {
this.prop1 = 'val1';
this.prop2 = 'val2';
}
getProp() {
return this.prop1;
}
}
const instance = new Something();
const proxiedObject = new Proxy(instance, {
get: function(target, property, receiver) {
if (WHATEVER_IS_ACCESSING_THIS_IS_NOT_AN_INSTANCE_METHOD) {
return false;
}
else {
return target[property];
}
}
});
console.log(proxiedInstance.getProp()); // 'val1'
console.log(proxiedInstance.prop1); // 'false'
'get'トラップ(プロキシではありません)が呼び出されていますか? – Bergi
ほとんどすべてがプロキシで可能ですが、私はあなたが必要とするものが本当に理解できません。いくつかの例(疑似)コードと期待される出力を投稿してください。 – Bergi
@Bergiにサンプルコードを追加しました。 – jdelman