Typescript - 指定类型的对象不可分配给泛型类型
Typescript - object of specified type is not assignable to generic type
考虑以下简单界面和 class:
interface ITest{
id :string;
}
class SuperClass<T extends ITest>{
Start(){
var item=<ITest>{};
this.Do(item);
}
Do(item: T){
alert(item);
}
}
带有this.Do(item)
的行显示错误:Argument of type ITest is not assignable to type T
。为什么?
Do(item: T){
alert(item);
}
方法 Do
需要类型为 T
的参数。
var item=<ITest>{};
创建了一个变量 item
,类型为 ITest
。
this.Do(item);
T
扩展了 ITest
,但 ITest
没有扩展 T
。变量项的类型为 ITest
,而不是类型 T
.
此代码编译:
Start(){
var item=<T>{};
this.Do(item);
}
考虑以下简单界面和 class:
interface ITest{
id :string;
}
class SuperClass<T extends ITest>{
Start(){
var item=<ITest>{};
this.Do(item);
}
Do(item: T){
alert(item);
}
}
带有this.Do(item)
的行显示错误:Argument of type ITest is not assignable to type T
。为什么?
Do(item: T){
alert(item);
}
方法 Do
需要类型为 T
的参数。
var item=<ITest>{};
创建了一个变量 item
,类型为 ITest
。
this.Do(item);
T
扩展了 ITest
,但 ITest
没有扩展 T
。变量项的类型为 ITest
,而不是类型 T
.
此代码编译:
Start(){
var item=<T>{};
this.Do(item);
}