【发布时间】:2021-01-08 07:21:35
【问题描述】:
我有一个函数,它会根据函数参数返回不同的对象。 有没有办法在 Typescript 中实现这一点?
这是我已经走了多远:
type returnMap = {
'a': number,
'b': string[]
}
function func<T extends returnMap, K extends keyof T>(val: K): T[K] {
if (val == 'a') {return 5}
if (val == 'b') {return ['a', 'b']}
return 42
}
console.log(func('a')) // 5
但是,它在返回值处显示“TS2322:类型 '5' 不可分配给类型 'T[K]'”。
提前谢谢你
【问题讨论】:
标签: typescript