如何从类引用实例化javascript对象?

如何从类引用实例化javascript对象?,javascript,typescript,function,class,constructor,Javascript,Typescript,Function,Class,Constructor,我希望能够从对类的引用中实例化javascript typescript中的对象。例如,我希望能够使用像这样的工厂函数,但我不知道如何实现这个结果 class A { constructor() { this.b = 'somevalue'; } } const factory = (klass: Function) => { return new klass(); } const instanceOfA = factory(A); 这个例子很做作,但有没有办法做到这

我希望能够从对类的引用中实例化javascript typescript中的对象。例如,我希望能够使用像这样的工厂函数,但我不知道如何实现这个结果

class A {
    constructor() { this.b = 'somevalue'; }
}

const factory = (klass: Function) => {
    return new klass();
}

const instanceOfA = factory(A);
这个例子很做作,但有没有办法做到这一点?当前错误表示klass不是构造函数。或者,如果有一种更惯用的方法从类引用实例化东西,我很乐意听一听。谢谢

函数是错误的类型,请使用构造函数类型,这也有助于推断正确的返回类型:

function factory<T>(klass: { new(): T }): T {
   return new klass();
}
函数是错误的类型,请使用构造函数类型,这也有助于推断正确的返回类型:

function factory<T>(klass: { new(): T }): T {
   return new klass();
}
使用新操作符正是正确的方法。您唯一的问题似乎是TypeScript编译器。使用新运算符正是正确的方法。您唯一的问题似乎是TypeScript编译器。