带有泛型抽象对象的TypeScript映射

带有泛型抽象对象的TypeScript映射,typescript,Typescript,我有几个项,它们都是从抽象项继承的。对象应包含具有不同项实现的映射。使用当前代码,我在对象中遇到以下错误: TS2314:泛型类型“项”需要1个类型参数 在Java中,这不是问题。我如何让它在TypeScript中工作 项目 abstract class Item<T> { } class Item1 extends Item<boolean> { } class Item2 extends Item<number> { } class Obj

我有几个项,它们都是从抽象项继承的。对象应包含具有不同项实现的映射。使用当前代码,我在对象中遇到以下错误:

TS2314:泛型类型“项”需要1个类型参数

在Java中,这不是问题。我如何让它在TypeScript中工作

项目

abstract class Item<T> {

}


class Item1 extends Item<boolean> {

}


class Item2 extends Item<number> {

}
class Object {
    private itemMap: Map<number, Item>;
}
抽象类项{
}
类Item1扩展了Item{
}
类Item2扩展了Item{
}
Object.ts

abstract class Item<T> {

}


class Item1 extends Item<boolean> {

}


class Item2 extends Item<number> {

}
class Object {
    private itemMap: Map<number, Item>;
}
类对象{
私有项目映射:映射;
}
试试这个:

class Object {
    private itemMap: Map<number, Item1 | Item2>;
}

稍后我将尝试这个方法,但它似乎不干净,因为如果我创建新的item类,有多个地方我必须更改代码。