可以推导出一个元组里所有函数的返回值类型吗?求解
// 例如一个数组
[() => 1, () => 's']
// 期望推导出
[number, string]
回答
const s = [() => 1, () => 's'] as const;
type S = typeof s;
type M<T extends ReadonlyArray<() => any>> = {
-readonly [key in keyof T]: T[key] extends () => any ? ReturnType<T[key]> : never;
}
type R = M<S>;
这样试试
本文地址:H5W3 » 关于数组中 ts 函数类型的推导