gpt4 book ai didi

Typescript - 指定类型的对象不可分配给泛型类型

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:02 24 4
gpt4 key购买 nike

考虑以下简单的接口(interface)和类:

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);
}

关于Typescript - 指定类型的对象不可分配给泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29697407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com