在 JavaScript / ES7 class 中动态调用静态方法

Dynamically calling a static method in a JavaScript / ES7 class

我在字符串变量中有 class名称。我想在动态 class.

上调用 addField 静态方法
const className = "CustomClient"; // comes from dropdown.
CustomClient.addField();

CustomClient 是 ES7 的名称class。 addField 是静态方法。我想动态调用 addField。 class 可以是 CustomClient、CustomContract 或 CustomUser 之一。

当你想通过名称引用一个 class 时总是一样的——无论是实例化它,调用它的静态方法还是其他什么:你必须建立一个名称 → class 地图和查找:

const classes = {
    "CustomClient": CustomClient,
    …
}
var classRef = classes[className];

在你的情况下,它将是

const classes = {CustomClient, CustomContract, CustomUser}; // shorthand notation
classes[className].addField();