Javascript 在nodejs中实例化具有变量类名的类对象

Javascript 在nodejs中实例化具有变量类名的类对象,javascript,node.js,class,oop,Javascript,Node.js,Class,Oop,在nodejs中是否有一种方法可以用变量类名实例化类对象。我正在尝试下面的代码片段,但它不起作用 let className = "hello"; let object = new [className](); 编辑 我有多个类,在这些多个类中,我将从另一个服务获得一个子集(字符串数组)作为输入,我必须调用这些子集类的主函数 // Multiple classes = ["first", "second", ..............., "twenty"]; let subset_c

在nodejs中是否有一种方法可以用变量类名实例化类对象。我正在尝试下面的代码片段,但它不起作用

let className = "hello"; 
let object = new [className]();
编辑
我有多个类,在这些多个类中,我将从另一个服务获得一个子集(字符串数组)作为输入,我必须调用这些子集类的主函数

// Multiple classes = ["first", "second", ..............., "twenty"]; 

let subset_class_names = ["first", "three", "five"]; 

for (let aClass of subset_class_names) { 
    let object = new [aClass](); 
    object.main(); 
}

您可以尝试使用此窗口

var className = 'hello'
var obj = new window[className];

与其迭代类名,为什么不迭代类本身呢

第一类{
构造函数(){
console.log(“构建的一个”);
}
}
二班{
构造函数(){
console.log(“两个构造”);
}
}
常量类=[1,2];
for(类的常量aClass)

新aClass()我认为当您知道如何使用数据结构时,大多数编程问题都会变得简单。在这种情况下,您只需要将类名称映射到类本身

第一类{
构造函数(){
console.log(“构建的一个”);
}
}
二班{
构造函数(){
console.log(“两个构造”);
}
}
三班{
构造函数(){
控制台日志(“三个构造”);
}
}
常量类=新映射()
类。集合(“一”,一);
组(“两个”,两个);
类。集合(“三”,三);
让子集_类_名称=[“一”,“二”];
for(让一组子集\类\名称){
const theClass=classes.get(aClass);
如果(类)为新类();
}

为什么?我不知道这方面的任何用例,我有多个类,在这些多个类中,我将得到一个子集作为输入,我必须调用这些子集类的主函数
//多个类=[“第一”、“第二”、“二十”]
让子集类名称=[“第一”、“三”、“五”];对于(let class of subset_class_names){let object=new[class]();object.main();}
我得到了这个错误:
ReferenceError:window未定义
ok这通常在客户端工作,因为您在node.js上使用它。这个窗口是一个浏览器,在node上不存在。如果您真的想创建一个全局对象,请改用global:我将从另一个服务获取类名作为输入,然后迭代并实例化对象。这在我的情况下是不可能的。