Generics 泛型类、约束和继承
所以我对Typescript和泛型都相当陌生。我不确定我是否发现了Typescript的缺陷/限制,或者我缺少正确的模式来执行我想要的操作 我有一个Generics 泛型类、约束和继承,generics,typescript,typescript1.8,Generics,Typescript,Typescript1.8,所以我对Typescript和泛型都相当陌生。我不确定我是否发现了Typescript的缺陷/限制,或者我缺少正确的模式来执行我想要的操作 我有一个小部件通用基类,它保存类型为T的值。例如,它可以是字符串,数字,等等 我希望有一个小部件子类,它将保存一个数组作为它的值,例如字符串[],日期[]等等 消费者代码示例: let w = new Widget<string>(); w.value = "abc"; let aw = new ArrayWidget<number[]&
小部件
通用基类,它保存类型为T
的值。例如,它可以是字符串
,数字
,等等
我希望有一个小部件
子类,它将保存一个数组
作为它的值,例如字符串[]
,日期[]
等等
消费者代码示例:
let w = new Widget<string>();
w.value = "abc";
let aw = new ArrayWidget<number[]>();
aw.value = [1, 2, 3];
一切都很愉快(消费代码按预期工作)。谢谢 您可以这样做:
class ArrayWidget<T> extends Widget<Array<T>> {
setValue() {
let v = new Array<T>();
this.value = v; // ok
}
}
let aw = new ArrayWidget<string>();
aw.value = ["a", "b", "c"];
class ArrayWidget扩展小部件{
setValue(){
设v=新数组();
this.value=v;//确定
}
}
设aw=newarraywidget();
aw.value=[“a”、“b”、“c”];
它将使您不必再指定其他通用参数