包含类型的变量类型,而不是实例

时间:2017-08-01 12:11:50

标签: typescript

我使用sequalize模型。他们是班级。当我注册它们时,会附加一些数据。所以我需要存储它们。我将它们存储在一个列表中。但是当我将模型检索到变量时,会出现一些混淆。变量必须有一个类型来存储类型?

1 个答案:

答案 0 :(得分:2)

我不确定您需要什么,因为您没有发布任何代码来证明您的问题。您很有可能只需在类构造函数上使用typeof type query

class Foo { ... }
class Bar { ... }
class Baz { ... }
var instances: (Foo | Bar | Baz)[] = [new Foo(), new Baz(), new Foo()];
var classes: (typeof Foo | typeof Bar | typeof Baz)[] = [Foo, Baz, Foo];

或许你想要一般性地指定一个构造函数,你可以这样做:

type Constructor<T = {}> = {
  new (...args: any[]): T;
  readonly prototype: T;
}
var classes: (Constructor<Foo|Bar|Baz>)[] = [Foo, Baz, Foo];

我希望有所帮助。如果您需要更多,请在您的问题中添加更多详细信息。祝你好运!