假设我有一个类型
type Template = {
a: string;
b: string;
c: string
}
我想在函数中使用它,但我想为其添加额外的参数。实施它的最佳方法是什么?
当我尝试扩展它时,打字稿显示?预期
我是这么做的
const test = (template: Template extends { d: string }[]) => {
template.map(t => console.log(t.d));
}
附言我不使用[key: string]: string这种类型
无法扩展类型。参考此已接受的答案
你可以这样解决你的问题
type Template = {
a: string;
b: string;
c: string
}
type NewTemplate = Template & { d: string }
const test = (template: NewTemplate[]) => {
template.map(t => console.log(t.d));
}
如果你不想用
const test = <T extends Template>(template: T[]) => {
template.map(t => console.log(t.d))
}