类型推导疑问

来源:8-5 初步实现 useUrlQueryParam 管理 URL 参数状态

进阶的前端小白

2021-06-03

图片描述
老师,我想问下,为什么这里的泛型T会被推导为"name"|"age"组成的联合类型,而不是推导为string。是因为extends string后,发生了类型缩减吗?

写回答

1回答

Nolan

2021-06-05

'name'|'age' 本身就是一个类型,extends string只是默认值,你指定了'name'|'age'后, 默认类型string就会被覆盖了

0
2
Nolan
回复
进阶的前端小白
没错, extends string 是约束泛型,但是 'name'|'age' 是 string 的子集,所以没啥问题。你如果传 object 类型就会报错了
2021-06-05
共2条回复

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程