Dynamic ES6类的动态getter/setter
我一直在网上搜索,找到了一些解决方案,但对于ES6类中的动态setter来说,这不是一个易于实现的解决方案 我想要的是在我的类中有一个动态setter,这样当我从外部添加任何可能的属性时,该属性上会发生特定的操作。我读过关于代理的文章,这似乎是合理的解决方案。然而,我无法理解如何正确地实现它,我希望你们在这方面提供意见Dynamic ES6类的动态getter/setter,dynamic,proxy,ecmascript-6,getter-setter,Dynamic,Proxy,Ecmascript 6,Getter Setter,我一直在网上搜索,找到了一些解决方案,但对于ES6类中的动态setter来说,这不是一个易于实现的解决方案 我想要的是在我的类中有一个动态setter,这样当我从外部添加任何可能的属性时,该属性上会发生特定的操作。我读过关于代理的文章,这似乎是合理的解决方案。然而,我无法理解如何正确地实现它,我希望你们在这方面提供意见 谢谢 请参见如何实现的示例。tl;dr:将代理应用于构造函数中新创建的实例。是!非常感谢你给我举个例子看看如何做到这一点。tl;dr:将代理应用于构造函数中新创建的实例。是!多谢
谢谢 请参见如何实现的示例。tl;dr:将代理应用于构造函数中新创建的实例。是!非常感谢你给我举个例子看看如何做到这一点。tl;dr:将代理应用于构造函数中新创建的实例。是!多谢各位
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