semi-xi / blog

blog
4 stars 1 forks source link

typescrpt 条件类型中的推断 #35

Open semi-xi opened 3 years ago

semi-xi commented 3 years ago

infer 表示在 extends 条件语句中待推断的类型变量

type ParamType<T> = T extends (param: infer P) => any ? P : T;
type ReturnType<T> = T extends (...args: any[]) => infer P ? P : any;

详细可以看解读TypeScript中的泛型以及条件类型中的推断