gpt4 book ai didi

typescript ,类类型不可分配给索引接口(interface)

转载 作者:行者123 更新时间:2023-12-05 06:03:32 25 4
gpt4 key购买 nike

我有一个具有一些公共(public)属性的类,我想将它传递给一个具有索引接口(interface)类型的通用参数的函数,但我收到一个编译器错误,提示 Argument of type 'Car' is不可分配给类型为 '{ [k: string]: unknown; }'.

谁能解释一下哪里出了问题,因为我假设所有类都是对象类型?!!

class Car {

name: string | undefined;

}

function toStr <T extends { [k: string]: unknown }>(i: T) {
return i.toString();
}


const jeep = new Car();
jeep.name = 'jeep';

toStr(jeep);

最佳答案

只需使用 object 代替 { [k: string]: unknown }

class Car {

name: string | undefined;

}

function toStr <T extends object>(i: T) {
return i.toString();
}


const jeep = new Car();
jeep.name = 'jeep';

const result = toStr(jeep);

关于 typescript ,类类型不可分配给索引接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66613367/

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