打字稿中的类型字典?
Dictionary of types in typescript?
我有 class 层次结构,如下所示:
interface TypeI {
getName(): string;
}
class ClassA implements TypeI{
static name: string = "A"
getname(){
return ClassA.name;
}
}
class ClassB implements TypeI{
static name: string = "B"
getname(){
return ClassB.name;
}
}
是否可以在打字稿中制作实现 TypeI 的类型的字典?像这样:
var typedDictionary: { [<T extends TypeI>] : T };
typedDictionary[ClassA] = new ClassA();
var a: ClassA = typedDictionary[ClassA];
Dictionary of types that implement TypeI in typescript?
javascript中对象的键只能是字符串。如果你传入的不是字符串,那么 toString
将被调用。所以不,你不能将类型 T
作为键……只有 string
。
然而,您可以在 class 中对其进行抽象,就像这个通用词典所做的那样:https://github.com/basarat/typescript-collections#a-sample-on-dictionary
我有 class 层次结构,如下所示:
interface TypeI {
getName(): string;
}
class ClassA implements TypeI{
static name: string = "A"
getname(){
return ClassA.name;
}
}
class ClassB implements TypeI{
static name: string = "B"
getname(){
return ClassB.name;
}
}
是否可以在打字稿中制作实现 TypeI 的类型的字典?像这样:
var typedDictionary: { [<T extends TypeI>] : T };
typedDictionary[ClassA] = new ClassA();
var a: ClassA = typedDictionary[ClassA];
Dictionary of types that implement TypeI in typescript?
javascript中对象的键只能是字符串。如果你传入的不是字符串,那么 toString
将被调用。所以不,你不能将类型 T
作为键……只有 string
。
然而,您可以在 class 中对其进行抽象,就像这个通用词典所做的那样:https://github.com/basarat/typescript-collections#a-sample-on-dictionary