Javascript 当实例化为字符串时,项不是构造函数

Javascript 当实例化为字符串时,项不是构造函数,javascript,typescript,Javascript,Typescript,我试图创建一个对象的实例,但我得到: 类型错误:窗口[comps[i]]不是构造函数 它发生在这个方法中(在for循环中): 然后,组件类如下所示: class Component { public constructor() { } } 类组件{ 构造函数(){ log(“创建的组件”); } } 类TestComponent扩展组件{ 构造函数(){ 超级(); } 单击(){ 警惕(“你点击了我”); } } 这是。_components=new Array();

我试图创建一个对象的实例,但我得到:

类型错误:窗口[comps[i]]不是构造函数

它发生在这个方法中(在for循环中):

然后,组件类如下所示:

class Component {

    public constructor() {

    }

}
类组件{
构造函数(){
log(“创建的组件”);
}
}
类TestComponent扩展组件{
构造函数(){
超级();
}
单击(){
警惕(“你点击了我”);
}
}
这是。_components=new Array();
getComponents();
函数getComponents(){
//注意TestComponent不是“TestComponent”
让comps=[TestComponent];
对于(变量i=0;i}
getAttribute('component')返回什么?它返回
TestComponent
您是否尝试将
public构造函数(){super();}
添加到
TestComponent
类中?另外,您不需要将
public
添加到
constructor
函数,您可能需要将
TestComponent
添加到窗口对象<代码>window.TestComponent=TestComponent
class TestComponent extends Component {
    public click() {
        alert('you clicked me');
    }
}
class Component {

    public constructor() {

    }

}