TypeScript 已经成为前端未来必备技术,无论你是想入门 TS,还是精通 TS,本课程都可以满足你的需求。这门课程,将用保姆级的讲法带你从 0 基础系统构建 TS 知识体系,同时手把手带你编写 vuex4 及 Promise 真实源码项目,综合提升你的 TS 实战能力,最后再剖析 Vue3 源码当中 TS 的高级用法,让你真吃透 TS,成为 TS 高手
TypeScript 已经成为前端未来必备技术,无论你是想入门 TS,还是精通 TS,本课程都可以满足你的需求。这门课程,将用保姆级的讲法带你从 0 基础系统构建 TS 知识体系,同时手把手带你编写 vuex4 及 Promise 真实源码项目,综合提升你的 TS 实战能力,最后再剖析 Vue3 源码当中 TS 的高级用法,让你真吃透 TS,成为 TS 高手
课程目录:
第1章 课程介绍
第2章 深入 TS 核心语法+各种实战应用(上)
- 视频:2-1 本章概述【先看】(02:59)
- 视频:2-2 TS 的完整定义,环境搭建,6 大主要优势(12:48)
- 视频:2-3 一个非常重要的问题【请先看完本节再学习后面的视频】(02:21)
- 视频:2-4 类型注解和类型推断+重要细节+作业(06:19)
- 视频:2-5 TS 编译和编译优化(07:20)
- 视频:2-6 更多 TS 编译和编译优化问题(03:17)
- 视频:2-7 常用的 24 种 TS 数据类型(17:21)
- 视频:2-8 never 的意义(04:49)
- 视频:2-9 为什么要用枚举?(02:13)
- 视频:2-10 枚举的定义 取值,分类(05:27)
- 视频:2-11 解析枚举底层(02:14)
- 视频:2-12 枚举更多好处+在企业项目中的真实应用+作业(05:55)
- 视频:2-13 any,unknown 的两点区别和多个应用场景(10:50)
- 视频:2-14 深入理解接口+真实应用场景(12:27)
- 视频:2-15 可索引签名和 2 个容易忽略的重要细节(05:41)
- 视频:2-16 索引访问类型,索引访问类型的深入扩展(09:13)
- 视频:2-17 视频作业:容易被忽略的 ts 类型(00:22)
- 视频:2-18 null 和 undefined + 相关重要细节(07:31)
- 视频:2-19 看似简单的取值为何总抛出错误?(02:47)
- 视频:2-20 TS 函数和 TS 函数类型,rest 参数(06:40)
第3章 深入 TS 核心语法+各种实战应用(下)
- 视频:3-1 TS 函数类型和相关解构(03:00)
- 视频:3-2 TS 函数类型复杂实战:手写 Promise 开头两段源码(12:24)
- 视频:3-3 Vue3 源码 ,更深入理解接口和 type 的区别(07:23)
- 视频:3-4 元组(03:15)
- 视频:3-5 TS 数组和数组元素怎样同时为只读?(02:00)
- 视频:3-6 可变元组和它的应用场景(06:15)
- 视频:3-7 可变元组 tag 和 tag 的意义(03:45)
- 视频:3-8 类,静态属性,何时用静态属性(13:30)
- 视频:3-9 企业项目何时用静态成员?(04:49)
- 视频:3-10 TS 常见面试题——TS 单件(例)模式的两种实现和静态成员执行的时机(11:19)
- 视频:3-11 TS 常见面试题——单件(例)模式的第二种实现(06:04)
- 视频:3-12 TS 类 getter setter 使用和意义(05:56)
- 视频:3-13 实战晋级: TS 静态成员、方法拦截器在大中项目中的实战+作业(18:55)
- 视频:3-14 方法拦截器进一步深度理解和本章总结说明(04:40)
第4章 tsconfig.json 核心配置和系列相关问题
- 视频:4-1 tsconfig,json 核心配置详讲-1(05:02)
- 视频:4-2 tsconfig,json 核心配置详讲-2(08:04)
- 视频:4-3 tsconfig.json核心配置详解(05:50)
- 视频:4-4 容易被忽视的重要的 tsconfig.json核心配置详解(05:11)
- 视频:4-5 tsconfig.json 更多核心配置详解(09:27)
- 视频:4-6 tsconfig 配置——类型声明和声明文件归属+纠正被误导的问题(10:01)
- 视频:4-7 tsconfig 配置——多级路径简化问题设置(05:42)
- 视频:4-8 视频作业:tsconfig 配置包含和继承(02:17)
第5章 深学 TS 必会的 JS 技术【不会 JS原型继承的进入学习】
- 视频:5-1 本章概述【学习本章技能的重要性】(02:27)
- 视频:5-2 本章准备:tsconfig 多级目录配置(04:13)
- 视频:5-3 TS 相关 JS:ES5 原型继承(04:07)
- 视频:5-4 TS 相关 JS:深入ES5 原型继承和组合继承(08:09)
- 视频:5-5 TS 继承底层实现方式:ES5 原型继承升级(08:25)
- 视频:5-6 深入 TS 继承——微信,支付宝支付继承类-1(12:23)
- 视频:5-7 深入 TS 继承——微信,支付宝支付继承类-2(05:58)
- 视频:5-8 复杂+有深度的作业——TS 继承底层源码解析【根据自身需求选做】(02:35)
第6章 深入TS“ 三板斧”—类型守卫,类型转换,自定义守卫+真实应用场景
- 视频:6-1 本章概述(01:22)
- 视频:6-2 类型断言、类型转换和应用场景-1(12:51)
- 视频:6-3 类型断言、类型转换和应用场景-2(10:20)
- 视频:6-4 类型守卫相关 JS :typeof 局限性和替代方案【常见面试题】(03:40)
- 视频:6-5 深入类型守卫和企业项目中的真实应用场景-1(08:34)
- 视频:6-6 深入类型守卫和企业项目中的真实应用场景-2(07:19)
- 视频:6-7 TS 自定义守卫和2个真实应用场景(09:28)
- 视频:6-8 自定义守卫晋级: Vue3 源码中的自定义守卫(03:12)
- 图文:6-9 面试题:自定义守卫如何判断 Promise 类型
第7章 泛型从入门到深度掌握
- 视频:7-1 本章概述(02:57)
- 视频:7-2 泛型从入门到深入掌握-1(12:42)
- 视频:7-3 泛型从入门到深入掌握-2(08:50)
- 视频:7-4 泛型从入门到深入掌握-3(01:48)
- 视频:7-5 从入门到深入泛型——泛型约束和它的真实应用(07:44)
- 视频:7-6 在 Vue3 源码深刻掌握泛型约束(11:28)
- 视频:7-7 高频使用的泛型赋值——反向为泛型赋值(03:44)
第8章 泛型晋级
- 视频:8-1 为什么要用函数重载?(11:02)
- 视频:8-2 使用函数重载改造上 7-1 代码【体会好处】(08:41)
- 视频:8-3 盘点函数重载最重要的要点(03:03)
- 视频:8-4 在真实应用中掌握泛型函数(06:29)
- 视频:8-5 深刻掌握泛型函数重载准备——经典复杂排序器-(09:32)
- 视频:8-6 深入理解为什么要用泛型函数重载(13:33)
- 视频:8-7 视频作业——泛型函数中分化出来子功能(00:29)
- 视频:8-8 泛型函数重载进一步优化复杂排序器(05:13)
- 视频:8-9 视频作业——Vue3 源码中的泛型函数重载(00:00)
- 视频:8-10 深入泛型工厂函数类型和拓展知识(09:36)
- 视频:8-11 泛型工厂函数类型的真实应用(07:52)
- 视频:8-12 交叉类型和通用交叉方法(04:39)
- 视频:8-13 通用交叉方法(14:35)
- 图文:8-14 代码实战演练
第9章 在真实应用中深入掌握 TS 高阶技能
- 视频:9-1 infer——深入 infer 和 infer 的三种应用(09:13)
- 视频:9-2 视频作业 infer 在集合种的应用(00:36)
- 视频:9-3 infer 进阶——Vue3 源码中的 infer 在响应数据的解套应用(03:25)
- 视频:9-4 类型体操准备——Vue3 源码中的复杂类型体操准备:先理解 in keyof(04:25)
- 视频:9-5 类型体操——深入 Vue3 源码中的类型体操(10:33)
- 视频:9-6 TS 条件类型——容易混淆的问题,条件类型的好处(10:12)
- 视频:9-7 TS 条件类型的复杂应用(07:46)
- 视频:9-8 TS in keyof keyof 在大中项目中的综合实战应用(13:12)
- 视频:9-9 TS 高级类型——Extract 和它的真实应用(04:17)
- 视频:9-10 TS 高级类型——Exclude 和它的真实应用(07:04)
- 视频:9-11 技巧性解决 keyof 不能直观看到结果的问题(02:26)
- 视频:9-12 Record 类型和 Record 类型存在的意义(07:52)
- 视频:9-13 Record 经典实战应用准备——isPlainObject 类型(04:43)
- 视频:9-14 Record 完成包含无穷级或数组或对象的对象深拷贝+作业(04:00)
- 图文:9-15 扩展:Record 和 Map 对比
- 视频:9-16 视频作业:Record 扁平化的子数组对象(00:54)
- 视频:9-17 TS 更多重要的高级类型——抓取属性类型(04:03)
- 视频:9-18 TS 映射类型的高级玩法(07:05)
- 视频:9-19 Record, Capitalize, Exclude,映射类型,函数约束综合真实应用-1(08:46)
- 视频:9-20 Record, Capitalize, Exclude,映射类型,函数约束综合真实应用-2(08:15)
- 视频:9-21 一个有点诡异的复杂映射类型的重要应用(10:50)
- 视频:9-22 一个有点诡异的复杂映射类型的重要应用【其他更多理解】(04:11)
- 视频:9-23 TS 三个实用的高级辅助类型(08:35)
- 视频:9-24 TS 高级类型视频作业:一个大中项目非常实用的复杂实战题(02:47)
- 图文:9-25 作业:百度复杂面试题
- 视频:9-26 本章总结(04:51)
第10章 TS 声明文件,TS 模块
- 视频:10-1 为什么要用声明文件?(05:36)
- 视频:10-2 如何感知声明文件存在的意义(03:42)
- 视频:10-3 声明文件实现+作业(12:06)
- 视频:10-4 一个很重要的细节问题(01:26)
- 视频:10-5 正确理解 declare 和相关细节(02:47)
- 视频:10-6 命名空间和嵌套命名空间在声明文件中的使用(05:48)
- 视频:10-7 用模块声明定义声明文件,理解优势(02:24)
- 视频:10-8 如何在 TS 中引入 js 文件(02:00)
第11章 从装饰器应用,底层 JS 到 仿 Nestjs实战,路由器底层复杂泛型(上)
- 视频:11-1 本章概述,熟练透彻掌握装饰器对职业发展有何意义 (06:41)
- 视频:11-2 【装饰器概述】装饰器定义,分类,要解决的问题 (09:59)
- 视频:11-3 【类装饰器】类装饰器的两种实现-1 (10:39)
- 视频:11-4 【类装饰器】类装饰器的两种实现-2 (08:38)
- 视频:11-5 【类装饰器底层源码】逐行深剖底层 JS 源码 1 (11:39)
- 视频:11-6 【类装饰器底层源码】逐行深剖底层 JS 源码 2 (16:15)
- 视频:11-7 【泛型工厂类继承装饰器】 泛型工厂类继承装饰器意义 (01:44)
- 视频:11-8 【泛型工厂类继承装饰器】 泛型工厂类继承装饰器实现-1 (14:33)
- 视频:11-9 【泛型工厂类继承装饰器】 泛型工厂类继承装饰器实现-2 (11:07)
- 视频:11-10 【泛型工厂类继承装饰器底层源码】逐行深剖+优化底层 JS 源码 (15:45)
- 视频:11-11 【泛型工厂类匿名类+继承装饰器】匿名类在装饰器中的实现 (03:18)
- 视频:11-12 【方法装饰器】方法装饰器的实现 (10:24)
- 视频:11-13 方法装饰器拦截器意义,拦截器失效解决 (12:45)
- 视频:11-14 【属性装饰器】属性装饰器应用,JS 源码深剖 (05:31)
- 视频:11-15 【属性、类、方法装饰器综合应用】依赖注入+请求方法,控制器初步实现-1 (10:55)
- 视频:11-16 【属性、类、方法装饰器综合应用】依赖注入+请求方法,控制器初步实现-2 (05:47)
- 视频:11-17 【属性、类、方法装饰器综合应用】依赖注入+请求方法,控制器初步实现-3 (03:15)
- 视频:11-18 【属性、类、方法装饰器综合应用】依赖注入+请求方法,控制器初步实现-4 (10:37)
- 视频:11-19 【属性、类、方法装饰器综合应用】依赖注入+请求方法,控制器初步实现-5 (04:46)
- 视频:11-20 【参数装饰器底层源码】 参数装饰器 + 详解底层 JS 源码 (05:55)
- 视频:11-21 【构造器参数装饰器】构造器参数装饰器注入实战-1 (06:53)
- 视频:11-22 【构造器参数装饰器】构造器参数装饰器注入实战-2 (06:42)
- 视频:11-23 【多个装饰器组合执行】类、属性、方法 、参数装饰器组合,执行顺序-1 (02:34)
- 视频:11-24 【多个装饰器组合执行【类、属性、方法 、参数装饰器组合,执行顺序-2 (03:18)
- 视频:11-25 【元数据操作】 理解 reflect-metadata 元数据操作重载方法和其他方法-1 (18:53)
- 视频:11-26 【元数据操作】 理解 reflect-metadata 元数据操作重载方法和其他方法-2 (18:03)
- 视频:11-27 【元数据】 3 个重要且特殊的内置元数据 key (09:32)
第12章 从装饰器应用,底层 JS 到 仿 Nestjs实战,路由器底层复杂泛型(下)
视频:12-1 【仿 Nestjs 装饰器实战准备】经典案例透彻理解依赖注入(DI) 的好处 (15:31)
视频:12-2 【仿 Nestjs 装饰器实战准备】 项目分层 和一依赖注入准备 (09:22)
视频:12-3 【仿 Nestjs 装饰器实战】 依赖注入实现准备——优化存储 (08:09)
视频:12-4 【仿 Nestjs 装饰器实战】 依赖注入实现和升级自动装配装饰器 (18:39)
视频:12-5 【仿 Nestjs 装饰器实战】 依赖注入实现引发的深度思考 (15:47)
视频:12-6 【仿 Nestjs 装饰器实战】 依赖注入实现引发的深度思考+代码持续优化-1 (17:38)
视频:12-7 【仿 Nestjs 装饰器实战】 依赖注入实现引发的深度思考+代码持续优化-2 (08:41)
视频:12-8 【仿 Nestjs 装饰器实战】数据访问层和实体层封装 (12:23)
视频:12-9 【仿 Nestjs 装饰器实战】控制器装饰器和请求方法装饰器实现-1 (06:05)
视频:12-10 【仿 Nestjs 装饰器实战】控制器装饰器和请求方法装饰器实现-2 (19:11)
视频:12-11 【仿 Nestjs 装饰器实战】控制器装饰器和请求方法装饰器实现-3 (05:35)
视频:12-12 【仿 Nestjs装饰器实战】多种请求方法装饰器实现-1 (05:19)
视频:12-13 【仿 Nestjs装饰器实战】多种请求方法装饰器实现-2 (16:36)
视频:12-14 【仿 Nestjs装饰器实战】多页面请求+中间件装饰器实现-1 (08:33)
视频:12-15 【仿 Nestjs装饰器实战】多页面请求+中间件装饰器实现-2 (15:19)
视频:12-16 【仿 Nestjs装饰器实战】多页面请求+中间件装饰器实现-3 (04:31)
视频:12-17 【仿 Nestjs 装饰器实战】多个中间件装饰器实现 (13:54)
视频:12-18 【装饰器路由器底层复杂泛型】 (02:36)
视频:12-19 【装饰器路由底层复杂泛型】 (13:30)
视频:12-20 【响应级联和状态级联】泛型和底层级联调用实现 (14:32)
视频:12-21 【Controller类请求对象参数底层复杂泛型】 (14:15)
视频:12-22 【Request请求底层复杂嵌套泛型】嵌套泛型类型实现“去尾” (06:09)
视频:12-23 【Request请求底层复杂嵌套泛型】嵌套泛型类型实现多级“去尾” (05:29)
视频:12-24 【Request请求底层复杂泛型】深度解析泛型嵌套 (05:08)
视频:12-25 【泛型递归+复杂泛型 交叉类型 综合实战】 跨越式的提高复杂泛型运用能力 (20:01)
图文:12-26 实战题:增加 Controller 根路径最近学习
图文:12-27 深入思考题—实现更彻底的依赖注入(选做)
第13章 运用 TS 手写 Promise 源码
视频:13-1 【准备】Promise 的三种状态和注意细节 【会的同学略过】(03:23)
视频:13-2 【 手写源码】 Promise 第一步—— Promise 回调 +then 初步 实现(10:37)
视频:13-3 【 手写源码】 Promise 第一步—— Promise 回调 + then 初步实现(02:51)
视频:13-4 【 手写源码】 Promise 第一步—— Promise 回调 + then 初步 实现(07:59)
视频:13-5 【手写源码】 resolve 方法 执行失败后的处理(04:21)
视频:13-6 【 手写源码 】 同步级联 then 方法实现(06:17)
视频:13-7 【 手写源码 】化解上讲难点(15:29)
视频:13-8 【手写源码】实现单级异步+单级 then 方法(06:01)
视频:13-9 【 手写源码 】化解上讲难点(09:44)
视频:13-10 【手写源码】 实现单级异步+级联 then 方法 +难点化解-1(08:50)
视频:13-11 【手写源码】 实现单级异步+级联 then 方法 +难点化解-2(02:50)
视频:13-12 【 手写源码 】构建多异步+级联 then 【 第一种实现方式 首创精简写法】-1(05:32)
视频:13-13 【 手写源码 】构建多异步+级联 then 【 第一种实现方式 首创精简写法】-2(16:04)
视频:13-14 【 手写源码 】构建多异步+级联 then【 第一种实现方式 首创精简写法】-3(03:44)
图文:13-15 对 13-13 和 13-14 的小思考和 更精简更好理解的实现
视频:13-16 【手写源码】构建多异步+级联 then【 第二种实现方式 常规实现】(07:54)
图文:13-17 作业:提炼多级异步+级联 then 的方法两种实现的区别
视频:13-18 【手写源码】Promise.all 源码实现-1(11:14)
视频:13-19 【手写源码】Promise.all 源码实现-2(07:51)
图文:13-20 对11-19 代码中 index 引发的问题解决最近学习
第14章 整合 Vue3 手写高水准大厂的 TS 版 Vuex4 源码
视频:14-1 本章概述(09:45)
视频:14-2 【 理解 Vuex4 】 贴切比喻通俗形象理解 Vuex 【会的同学略过】(10:45)
视频:14-3 【Vuex4 单模块、多模块+Vue3 + TS 整合】【会的同学略过】(05:33)
视频:14-4 【Vuex4 单模块、多模块+Vue3 + TS 整合 】【会的同学略过】(05:46)
视频:14-5 【 store 切割 】 公司 切割 store 的设计方案有哪些不好? 【加量扩展】(03:11)
视频:14-6 【getter 自动推导】Vuex 为什么不能推导 getter 方法,又如何解决呢?【加量扩展】(10:49)
视频:14-7 【 Vuex4 源码整体架构 】 TS 版的 Vuex4 源码架构详解(14:32)
视频:14-8 Store 和相关源码实现(07:41)
视频:14-9 Store 和相关源码实现(07:42)
视频:14-10 单模块源码和应用+整合 Vue3 组件 输出(09:59)
视频:14-11 多模块源码实现(06:17)
视频:14-12 多模块源码实现(09:15)
视频:14-13 多模块源码实现+整合 Vue3 组件输出(04:16)
视频:14-14 多模块源码实现,+难点突破+整合 Vue3 组件输出(13:14)
视频:14-15 多模块源码实现,+难点突破+整合 Vue3 组件输出(02:10)
视频:14-16 多模块源码升级优化(04:14)
视频:14-17 commit 源码 和 dispatch 源码实现(07:30)
视频:14-18 commit 和 dispatch 优化(01:25)
视频:14-19 模块注册—— 管理 state 源码实现(06:44)
视频:14-20 模块注册—— 管理 state 源码实现(06:21)
视频:14-21 模块注册 —— 管理 state 源码实现——难点突破+整合 Vue3 输出(08:29)
视频:14-22 模块注册——注册 getters 源码实现(16:15)
视频:14-23 模块注册——注册 getters 源码实现+整合 Vue3 输出(02:24)
视频:14-24 模块注册—— getters 自动推导(01:03)
视频:14-25 模块注册——注册 mutations 源码实现+整合 Vue3 输出 –(12:08)
视频:14-26 模块注册——注册 actions 源码实现+整合 Vue3 输出(12:45)
视频:14-27 模块注册——ActionContext 源码实现 +整合 Vue3 输出 .+ 难度系数较高的作业(15:05)