如何通过变量名称解决javascript类中的静态成员

问题描述

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

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); ???

解决方法

您始终可以将变量用作引用原始类的指针:

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

let myClass = blue;

console.log(myClass.color);