【发布时间】:2023-01-09 21:21:37
【问题描述】:
如何键入使用泛型扩展另一个类的对象的列表(对象、记录、映射;任何带键的东西)?
我真的不关心每个对象有什么样的泛型。我只想输入它“任何延伸 A 的东西”.
// valid abstract class
abstract class A<SOME_TYPE> {
private something: SOME_TYPE;
}
// valid class
class B extends A<number> {}
// I want a list of objects that extend A
const listOfObjects: Record<string, A<any>> = {
b: B, // TS2741 error
};
// nor this
const listOfObjects: Record<string, typeof A> = {
b: B, // Type 'typeof B' is not assignable to type 'typeof A'
};
TS v 4.4.4
【问题讨论】:
-
你为什么要使用
Record<string, A<any>>而不是A<any>[]因为你想要“列表”??? -
@bogdanoff 我想要类列表而不是实例列表。同样的错误也出现在数组上——它不重要。 (等。也有提到的对象和地图)。
标签: typescript