![](/img/trans.png)
[英]How to get parameter types of a generic function with instantiated generic type parameters?
[英]How to get a function parameter types
我可以使用ReflectAPI輕松獲取方法的參數類型:
Reflect.getMetadata('design:paramtypes', target, propertyKey);
但是,當我嘗試獲取函數的參數類型時,它總是返回未定義。 我嘗試過使用這些示例函數:
const foo = (bar: Bar) => void 0;
function foo(bar: Bar) {}
export function foo(bar: Bar) {}
而且我還讀到 TypeScript 僅在您裝飾 class 和方法時才發出元數據。 那么,如何獲取函數的元數據呢?
如果您正在談論在運行時獲取 function 參數類型,那么在撰寫本文時是不可能的,因為 TypeScript 由於轉譯期間的類型擦除而不支持此功能。 換句話說,一旦 TypeScript 被編譯成 JavaScript,類型信息就會被丟棄。
但是,如果您正在談論獲取 function 參數的類型compile-time ,那么可以使用Conditional Type 。 答案可以在https://stackoverflow.com/a/51851844/6587634找到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.