先认清你的能力缺口在哪

很多前端和 Node 开发者对这门语言的认知停留在“给变量加个类型注解”,写业务代码时满屏的 any,遇到复杂的类型推断、泛型约束或者高阶组件类型传递就开始靠猜。这门课解决的核心问题,就是把你从“能跑就行”的弱类型习惯里拽出来,建立起严格的静态类型思维,并补齐从源码编译到工程化打包的完整链路认知。它适合已经熟练掌握 JavaScript 基础语法、能独立写出页面逻辑或接口服务,但尚未在生产项目中严格落实类型安全的开发者。如果你连 ES6 的解构、Promise 都还没吃透,建议先回头补 JS 基础;如果你已经在用类型系统编写复杂的工具类型,这部分内容对你来说偏基础。建议先从编译环境与工程化配置看起,搞清楚 tsconfig 里的核心配置项到底怎么影响编译产物,再结合打包工具理解类型检查与最终构建产物的关系,最后带着工程视角去啃透基础类型体系和类的高级特性。

资料怎么配合练习才不白看

这套资料不是让你坐在屏幕前当连续剧刷的,每一节讲完一个语法点,必须立刻在本地工程里敲一遍。配套练习的正确姿势是:先跟着视频理清概念逻辑,然后关掉视频,自己新建一个文件,尝试还原同样的类型定义和修饰器逻辑。遇到报错不要急着回看视频找答案,先去读编译器给出的错误提示,把鼠标悬停在变量上看推导出来的类型。资料里提供的示例代码只是参照物,你需要做的是刻意破坏它——把某个属性改成可选、把某个参数类型抽离成泛型,看看编译环境会报什么错。特别是讲到 never 这种容易被忽视的底部类型时,务必手写一个死循环函数和抛出异常的函数,去体会类型收窄的过程。类相关的修饰器部分更是重灾区,光看不动手根本记不住执行顺序,必须自己写几个类修饰器、方法修饰器和参数修饰器,打印出它们的运行日志,观察元数据是如何被注入和修改的。

学完能独立做什么

看完这套资料,你应该能脱离任何脚手架,手动从零搭建一个支持严格类型检查的工程项目,不再依赖别人配好的模板。面对业务逻辑时,你能准确判断何时该用元组固定结构、何时该用枚举收拢状态,而不是无脑用对象和字符串硬撑。具体来说,学完后你能独立回答并解决以下问题:tsconfig 中的 strict 模式开启后,会对旧代码造成哪些破坏性影响?如何在不破坏原有运行逻辑的前提下,用属性修饰器给类添加非侵入式的数据校验?void 和 never 在函数返回值定义上有什么本质区别,它们各自适用于什么场景?类的方法修饰器在执行时,它的上下文指向谁?如果你看完资料,还能把这些概念在自己的业务项目里找到对应的落地点,把原本满是 any 的几个核心文件重构为严格的类型定义,那才算真正补上了这块能力缺口。别假装什么都会,代码编译器从不说谎。

课程目录

1 介绍 (03:35)
2 第一个 typescript 程序 (含资料) (04:29)
3 编译环境 (08:28)
4 webpack & typescript (05:57)
5 基础类型 (04:41)
6 数组&元组 (04:49)
7 枚举 (04:05)
8 any & void (02:38)
9 never (03:06)
10 类的基本写法 (03:22)
11 类的基本写法 (06:43)
12 类的修饰器 (05:45)
13 方法修饰器 (05:59)
14 属性修饰器 (08:25)
15 参数修饰器 (07:16)