[英]Typescript use optional generic
我有以下 function:
function prop<T extends Record<any, any>, K extends keyof T>(key: K): T[K] {
}
const v = prop<{ test: string }>('test')
問題是我必須通過第二個泛型才能正確推斷出密鑰。 有沒有辦法跳過第二個泛型並仍然將key
推斷為keyof T
?
我不想做以下事情:
prop<{ test: string }, 'test'>('test')
您可以嘗試使用像這樣的默認泛型:
function prop<T extends Record<any, any>, K = keyof T>(key: K): T[K] {
}
const v1 = prop<{ test: string }>('test') // OK
const v2 = prop<{ test: string }>('test12') // ERROR
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.