包含通用类的任何实例的TypeScript变量

时间:2019-09-13 05:06:11

标签: typescript generics

我有一个代表用户的抽象TypeScript类。有多个子类代表不同的第三方服务。该类具有第三方服务的通用类型。

我正在尝试创建一个可以容纳User的任何实例的数组,但是TypeScript会引发错误。

let users: User[] = [
   new TestUser("test-1"),
   new TestUser("test-2"),
   new TestUser("test-3")
]
export abstract class User<T extends ApiService> {
    public id: string;
    public username: string;
}

我收到以下错误:

Generic type 'User<T>' requires 1 type argument(s).ts(2314)

在Java中,我可以执行以下操作以允许User的任何子类。

User<?>

我该如何在TypeScript中做到这一点?

1 个答案:

答案 0 :(得分:0)

如Aleksey所说:

let users: User<any>[]

工作完美!