课程库 › TypeScript › TypeScript 起步 › 第 8 课
单元测验:TypeScript 起步关卡
里程碑约 40 分钟
本课导读
「TypeScript 起步」单元关卡:15 题综合测验,覆盖全部七课,全对通关。卡住的题顺着解析回对应课补一眼再来。通关之后有两句话想对你说——关于这个单元的下一步,和你能帮上的忙。预计 40 分钟。
赛前热身:单元知识地图
| 课 | 一句话回顾 |
|---|---|
| 1. 为什么需要类型 | 惨案对比:JS 静默出错 vs TS 编译拦截;any 是后门 |
| 2. 基础类型与推断 | string/number/boolean/T[];局部靠推断、边界白纸黑字 |
| 3. 函数的类型 | 签名即合同;void;可选 ? vs 默认值 =;箭头函数与上下文推断 |
| 4. 对象与接口 | interface 三重保护;?/readonly;嵌套与 Order[];认形不认名 |
| 5. 联合类型与收窄 | A | B 只用共有成员;三板斧 typeof / !==undefined / in;字面量联合 |
| 6. 泛型初见 | <T> 占位传染;推断接管;会读会享受,复杂的不预习 |
| 7. 项目课 | 建模→防御→交付;破坏测试;“交新的不改旧的” |
关卡测验
1. JS 里 299 + "2" 静默得到 "2992",TS 对这类问题的总体策略是?
2. TS 和 JS 的关系是?
3. any 类型的本质是?
4. const price = 599(没写类型)之后 price = "特价" 会?
5. 必须手写类型标注的两大场景是?
6. 返回类型 void 的函数,其“返回值”被拿去运算会?
7. “人数不传默认 4”“备注可传可不传且没传有意义”分别用?
8. prices.map((p) => p * 0.8) 里 p 没标类型也不报错,因为?
9. interface Order 的“三重保护”指拦截哪三类违约?
10. 对象 spot 从未声明与 Point 有关,却能传给收 Point 的函数,因为 TS?
11. number | string 的值想调 .toUpperCase(),正确姿势是?
12. type Status = "pending" | "done" 相比 status: string 的核心收益是?
13. 标准库 find 的返回类型是 T | undefined,这个设计逼调用方做什么?
14. function first<T>(arr: T[]): T 中 T 的行为是?
15. “类型安全的验收不只看正确的能跑,更看错误的写不出来”——项目课的三条破坏测试验证了什么?
🎓 通关词 + 两件事拜托
恭喜通关「TypeScript 起步」。盘点一下你的新能力:读得懂任何 TS 函数签名和 interface(这是看懂前端/Node 代码库的门票)、写得出带完整类型合同的小型程序、审得动 AI 生成的 TS 代码(any 泛滥、类型漏标一眼可辨)。
两件事拜托:
- 这是一个试点单元——它的后续(Node 与工程化、DOM 与前端、更深的类型体操)是否扩产,取决于这 8 课的实际学习效果。你的 Quiz 完成情况就是投票;
- 你的反馈直接塑造下一批内容:哪课节奏太快/太慢、哪个类比没讲透、还想学什么——请直接告诉站长。试点单元的第一批学习者,就是它的联合设计师。
提示
继续练手的建议:把项目课的待办清单搬进本地 VS Code(体验编辑器里类型提示的完全体),做完三个魔改方向;然后找一段你感兴趣的开源 TS 代码,用"读签名"的功夫拆它——你会惊讶自己已经能看懂多少。
划选正文任意文字可高亮、批注或加入复习卡
讨论
载入中…