简体   繁体   English

TypeScript function 动态类型推断

[英]TypeScript function dynamic type inference

I have this function:我有这个 function:

const randomFromArray = (array: unknown[]) => {
     return array[randomNumberFromRange(0, array.length - 1)];
};

My question is how can I dynamically type this input instead of using unknown or any .我的问题是如何动态输入此输入,而不是使用unknownany When I call this function, it understandably returns a type of unknown but I'd like for it to return the type that it was called with.当我调用这个 function 时,它可以理解地返回一个unknown类型,但我希望它返回调用它的类型。

ie The returned type from randomFromArray(['red', 'blue']), would be string and the returned type from randomFromArray([1, 2]), would be numberrandomFromArray(['red', 'blue']),的返回类型是stringrandomFromArray([1, 2]),的返回类型是number

Use a generic parameter:使用通用参数:

const randomFromArray = <T>(array: T[]): T => {
     return array[randomNumberFromRange(0, array.length - 1)];
};

Playground操场

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM