[英]In typescript, How to use a generic to constraint and describe return value type of function?
看代碼,我認為湯姆是 BB 擴展 AA 的類型,所以它應該可以工作
代碼錯誤:TS2322:類型“BB”不可分配給類型“T”
interface AA {
name: string
}
interface BB extends AA{
age: number
}
const tom: BB = {
name: 'tom',
age: 20
}
function something<T extends AA>(): T {
return tom
}
我怎樣才能使用喜歡
something<BB>()
得到一個擴展 AA 的值; 或者
something<CC>()
哪個 CC 擴展了 AA
您的標識 function 應如下所示:
interface AA {
name: string
}
interface BB extends AA{
age: number
}
const tom: BB = {
name: 'tom',
age: 20
}
function identity<T extends AA>(arg: T) {
return arg
}
identity(tom)
您當前實現的問題是您使用的是特定類型的T
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.