关于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 优先级更高, 如果加了 ) 编译器反而错误, 让你修改为 ? 号

0
0

晋级TypeScript高手,成为抢手的前端开发人才

轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈

871 学习 · 425 问题

查看课程