采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
type inferType<T> = T extends (params: infer P)=> any ? P : T; // 理解1. A extends B 这样的语句返回的是一个boolean类型 // 理解2. 类型定义中的三目运算不能加括号: // 如 (T extends (params: infer P)=> any) ? P : T; 编译时无法通过
理解1 返回的是 boolean值,但这个表达式不能独立存在于等号右边
理解2: 不能加也不需要加括号,因为extends 优先级更高, 如果加了 ) 编译器反而错误, 让你修改为 ? 号
登录后可查看更多问答,登录/注册
轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈
1.2k 15
949 12
1.1k 11
989 11
745 10