JavaScript类:向构造函数添加动态数量的变量,以创建getters setter

JavaScript类:向构造函数添加动态数量的变量,以创建getters setter,javascript,class,constructor,Javascript,Class,Constructor,我的目标是创建一个能够作为变量存储的类 因此,它接受构造函数中动态数量的参数,并为每个变量创建一个动态getter和setter 我的解决方案尝试使用rest参数 因此,使用rest参数可以创建动态构造函数 但是我如何将动态的…args部分转换为getter和setter呢 注意:我创建这个类是作为一个示例代码,它不打算被重用 课程 class VariableStore() { constructor(a, b, ...args){ this.a = a;

我的目标是创建一个能够作为变量存储的类

因此,它接受构造函数中动态数量的参数,并为每个变量创建一个动态getter和setter

我的解决方案尝试使用rest参数

因此,使用rest参数可以创建动态构造函数 但是我如何将动态的…args部分转换为getter和setter呢


注意:我创建这个类是作为一个示例代码,它不打算被重用

课程

class VariableStore() {
    constructor(a, b, ...args){
        this.a = a;
        this.b = b;
        this.args = args;
    };

    get ga() {
        return this.a
    }

    get gb() {
        return this.b
    }

    // This getter below doesn´t work since ..args is obj
    get gc() {
        return this.args
    }

    set sa(a) {
        this.a = a;
        return this.a;
    }

    set sb(b) {
        this.b = b;
        return this.b;
    }
    // This setter below doesn´t work since ..args is obj
    set sc(c) {
        this.args = c;
        return this.args;
    }
};

它应该适用于a和b,但如何分割args?

调整此参数以满足您的需要。只是一个概念的证明

conststore=(targetObject={})=>{
功能搜索(对象、道具){
if(Object.keys(Object.includes(prop))返回对象[prop];
常量键=对象。键(对象);
for(让index=0;indexconsole.log(“h”,store.h)为什么不将它们存储在对象中?它会更快。我认为你想要达到的目标实际上是行不通的。