class Model {
a!: number
b!: string
}
class ModelB extends Model {
c!: boolean
}
declare function getData<R, M extends Model>(m: M, field: keyof M): R
// 这里我希望 M 参数自动取自第一个参数,然后可以指定一个返回值类型为 number 。
// 可是似乎做不到?报缺一个泛型参数错误
let r = getData<number>(new ModelB(), 'c')
1
codehz 2021-01-20 19:29:03 +08:00 1
|
2
youmoo 2021-04-16 18:09:32 +08:00
其实你可以这样调用:
let r: number = getData(new ModelB(), 'c'); |