任务:我想通过ES6中的给定JSON对象创建动态类。
在MDN网络文档上进行了大量阅读和许多stackoverflow问题之后,我完全困惑如何进行这项工作。
JSON对象
{
constructor: {
name: "someName",
},
getter: {
function1: () => "someOutput",
function2: () => false,
}
}
尽管我试图解决问题,但我想出了如何使用“ 代理”或“ defineProperty ”创建动态吸气方法的方法,但是我应该如何处理构造函数? ? :(
我希望有人可以帮我一个提示或例子。 预先感谢
答案 0 :(得分:0)
您可以使用Proxy的“ construct”处理程序方法将构造函数添加到Proxy创建的类中:
const jsonObj = {
constructor: {
name: "someName",
},
getter: {
function1: () => "someOutput",
function2: () => false,
}
}
function baseClass(obj) {
for(i in obj){
this[i] = obj[i]
}
}
const handler = {
construct(target, args) {
return new target(jsonObj.constructor);
}
};
const NewClass = new Proxy(baseClass, handler);