如何使用此+“另一个变量”访问类变量

时间:2019-08-01 00:47:25

标签: javascript

我想从函数内部使用'this'+'a variable'访问类中的公共变量,但是我无法使其正常工作。

我已经尝试通过方括号方法访问它:

this [myVar];

但它不起作用。


export class abc {
    public a = true;
    public b = true;

    public someFunction(parameter) {
      this.'parameter' = false; // <-- Here I want to set either a or b to false depending on the value of the parameter
    }
}

1 个答案:

答案 0 :(得分:1)

这里要提到的事情:

  1. 如果您只是尝试设置this[parameter],则函数是 这里很少。您是否考虑过三元条件?
  2. 在当前代码中,您的函数只会设置a(顺便说一句, 该字段应该为this.a,因为该功能范围中不存在a

这就是我的建议。对this进行快速检查,以确保存在parameter,如果存在,请将其值设置为false

export class abc {
    public a = true;
    public b = true;

    public someFunction(parameter) {
        if (parameter && this.hasOwnProperty(parameter)) {
            this[parameter] = false;
        }
    }
}