Javascript 如何键入类或构造函数

Javascript 如何键入类或构造函数,javascript,class,typescript,types,flowtype,Javascript,Class,Typescript,Types,Flowtype,我使用的模式与此类似: class MyClass { } doSomethingWithClass(MyClass) { } 如果我要使用Flow或TS向代码中添加键入,我将如何键入?这样的事情难道不意味着我正在期待MyClass的一个实例吗 doSomethingWithClass(MyClass: MyClass) { } 我想做的是将构造函数/类传递到工厂模式,但我不知道如何实际键入它。要将类构造函数传递给函数,可以使用构造函数签名: function doSomethingWi

我使用的模式与此类似:

class MyClass { }

doSomethingWithClass(MyClass) { }
如果我要使用Flow或TS向代码中添加键入,我将如何键入?这样的事情难道不意味着我正在期待MyClass的一个实例吗

doSomethingWithClass(MyClass: MyClass) { } 

我想做的是将构造函数/类传递到工厂模式,但我不知道如何实际键入它。

要将类构造函数传递给函数,可以使用构造函数签名:

function doSomethingWithClassGeneric<T>(myClass: new () => T) { 
    return new myClass()
} 
doSomethingWithClassGeneric(MyClass);

为了将类构造函数传递给函数,可以使用构造函数签名:

function doSomethingWithClassGeneric<T>(myClass: new () => T) { 
    return new myClass()
} 
doSomethingWithClassGeneric(MyClass);
使用实用程序类型

class MyClass { };

function doSomethingWithClass(klass: Class<MyClass>): void {
}

doSomethingWithClass(MyClass)
classmyclass{};
函数doSomethingWithClass(klass:Class):void{
}
doSomethingWithClass(MyClass)
使用实用程序类型

class MyClass { };

function doSomethingWithClass(klass: Class<MyClass>): void {
}

doSomethingWithClass(MyClass)
classmyclass{};
函数doSomethingWithClass(klass:Class):void{
}
doSomethingWithClass(MyClass)

您想要通用工厂模式吗?基本上。我知道如何添加泛型,但不知道如何正确地键入构造函数@提香·塞尔尼科娃·德拉戈米尔找到了我想要的答案。干杯。你想要一般的工厂模式吗?基本上。我知道如何添加泛型,但不知道如何正确地键入构造函数@提香·塞尔尼科娃·德拉戈米尔找到了我想要的答案。干杯,谢谢。看来我需要花点时间看医生。我要删除这个问题。干杯!我不确定你是否应该。。这可能对其他人有用。看来我需要花点时间看医生。我要删除这个问题。干杯!我不确定你是否应该。。它可能对其他人有用