关于extends的理解是否正确?
来源:10-2 【 infer理解 】 infer 定义 +infer 的两种使用

迷你侠
2021-10-15
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回答
-
keviny79
2021-10-15
理解1 返回的是 boolean值,但这个表达式不能独立存在于等号右边
理解2: 不能加也不需要加括号,因为extends 优先级更高, 如果加了 ) 编译器反而错误, 让你修改为 ? 号
00
相似问题