簡體   English   中英

Typescript:map object 每個鍵的值類型

[英]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的每個道具。

總之,我希望numberArgnumber類型,而stringArgstring類型。

您可以在Typescript 游樂場打開此代碼。

使用映射的 object 類型

// 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM