【发布时间】:2017-08-28 12:47:22
【问题描述】:
是什么导致此代码失败?
interface ISomeData {
name: string;
}
class SomeData implements ISomeData {
name: string = "adam";
}
class SomeClass<T extends ISomeData> {
constructor(dataTemplate?: T) {
this.dataTemplateInternal = dataTemplate;
}
private dataTemplateInternal: T;
public initSomeData() : T {
let data: T = new SomeData();
if (this.dataTemplateInternal) {
return this.dataTemplateInternal;
}
return data;
}
}
“initSomeData”的第一行有一个错误提示
类型“SomeData”不可分配给类型“T”
但由于我的通用约束基于 SomeData 实现的接口,这还不够吗?
Ridiculously long link to this code in the TypeScript Playground
【问题讨论】:
标签: generics typescript