【问题标题】:How to address static members in javascript classes by variable name [duplicate]如何通过变量名处理javascript类中的静态成员[重复]
【发布时间】:2020-08-21 06:43:26
【问题描述】:

有两个或多个类,每个类都有一个同名的静态类变量。通常通过指定类名来访问静态成员的内容。

class red {
  static color = "ff0000";
  …
}

class blue {
  static color = "0000ff";
  …
}

console.log(blue.color);

我知道我可以像这样访问静态成员名称

console.log(blue["color"]);

是否可以用另一个变量替换类名?

…
let myClass = "blue";
console.log(myClass.color); ???

【问题讨论】:

    标签: javascript class oop ecmascript-6 static-members


    【解决方案1】:

    您总是可以使用变量作为引用原始类的指针:

    class blue {
      static color = "0000ff";
    }
    
    let myClass = blue;
    
    console.log(myClass.color);

    【讨论】:

    • 感谢您的回答。但是,这只会将问题转移一级,不是吗?对于十个类,仍然必须对每个单独的类名使用大小写区分。将类名“组装”为字符串是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多