0

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

我正在尝试创建一个可以容纳任何用户实例的数组,但 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 中执行此操作?

4

1 回答 1

0

正如阿列克谢所说:

let users: User<any>[]

完美运行!

于 2019-09-13T06:37:17.000 回答