[英]Typescript: map object value type for each key
在下面的示例代碼中:
const obj = {
a: () => 1,
b: () => '2'
}
type typeMap = Record<keyof typeof obj, (arg: unknown) => void>
const map: typeMap = {
a: (numberArg) => numberArg + 1,
b: (stringArg) => stringArg.length
}
我希望 Typescript 知道 function arguments 中的類型map
object 與原始obj
object 中每個鍵的返回類型相同。我知道有實用程序,但我不知道ReturnType<>
將它用於 map 來自obj
的每個道具。
總之,我希望numberArg
是number
類型,而stringArg
是string
類型。
您可以在Typescript 游樂場打開此代碼。
// alias for convenience
type ObjType = typeof obj;
type TypeMap = {
[K in keyof ObjType]: (arg: ReturnType<ObjType[K]>) => unknown
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.