2016-08-16 15 views
1

私はウェブを検索していましたが、いくつかの解決策を見つけましたが、ES6クラスの動的セッターのためのソリューションを実装するのは簡単ではありません。ES6クラスの動的ゲッター/セッター

私が望むのは、自分のクラス内にダイナミックなセッターがあるので、外部から可能なプロパティを追加すると、そのプロパティで特定の操作が行われるようになります。私はプロキシーについて読んだことがあり、これはこれのための合理的な解決策であるように思われます。しかし、私はそれを正しく実装する方法を理解することができず、これについてあなたの人の意見を聞きたいと思います。

ありがとうございます!

+1

どのように*実行できるかの例についてはhttp://stackoverflow.com/q/32622970/218196を参照してください。 tl; dr:コンストラクタで新しく作成されたインスタンスにプロキシを適用します。 –

+0

はい!どうもありがとうございます – RonH

答えて

-3
let property_one = 'one'; 
let property_two = 'two'; 

/** 
* ConfigurationClass class. 
*/ 
class ConfigurationClass 
{ 

    /** 
    * Constructor. 
    * 
    * Create instance. 
    */ 
    constructor(config = { 
     'property_one' : property_one, 
     'property_two' : property_two, 
    }) 
    { 
     this.__proto__ = new Proxy(config, { 
      get: (container, property)  => (property in container) ? container[property] : undefined, 
      set: (container, property, value) => (container[property] = value) ? true : true 
     }); 
    } 

}; 

let configurationClass = new ConfigurationClass(); 

console.log(configurationClass.property_one); // one 
console.log(configurationClass.property_two); // two 
console.log(configurationClass.property_three); // undefined 
関連する問題