面试题答案
一键面试// 类型工具函数
type GetReturnTypeTuple<T extends readonly ((...args: any) => any)[]> = {
[K in keyof T]: T[K] extends (...args: any) => infer R ? R : never;
};
// 验证函数
function verifyType<T extends readonly ((...args: any) => any)[]>(funcs: T): GetReturnTypeTuple<T> {
return funcs.map(func => func()) as GetReturnTypeTuple<T>;
}
// 示例使用
const funcs = [
() => 'hello',
() => 42,
() => true
] as const;
const results = verifyType(funcs);
// results类型为: ['hello', 42, true]