|
|
其实TypeScript并不是一门新的语言,它是 JavaScript 的超集。它最大的亮点,就是其无可替代的强类型系统,这也是它为什么叫 TypeScript 的原因。之所以说它的类型系统无可替代,是因为TypeScript 填充了 JavaScript 作为一门动态弱类型脚本语言的缺点,多了静态类型检查, 能够对代码中的错误及时反馈,而又保留了JavaScript 的灵活,维护大型工程项目更加轻松。
5 I3 {6 k( I9 W/ r# J* W$ a& V 现在最流行的三大主流前端框架,React 和 Angular 使用 TypeScript 编写,而 Vue3.0 则会使用TypeScript 重写;而 NodeJS 的模块很多都添加了类型声明,所以使用 TypeScript 可以很好地开发前后端和其他场景的项目。% i& D! }- B6 L% S
课程目录:
2 r) s1 m; J, [% V2 Z6 T. k# d2 x第一章 入门准备
% w$ g& U/ B9 [8 E6 G" e01 开篇词:Hello~TypeScript
t4 _" D: E, V02 TypeScript应该怎么学
0 t8 Z8 d% n1 F, S$ Y, n8 E03 VSCode揭秘和搭建开发环境
+ Z9 S# O9 l. R( j" ]3 i9 I2 t第二章 基础部分5 o) ?. P& u6 ~7 M" K( a
04 八个JS中你见过的类型
! G2 H" J& ^7 o: Z05 TS中补充的六个类型. f8 }9 ]+ }3 Q( c
06 Symbol-ES6新基础类型
0 V9 W) m7 N* [: U2 ]07 深入学习枚举
$ ^+ N- x5 [6 s, |08 使用类型断言达到预期
7 w3 `- i3 d7 I2 i5 Q09 使用接口定义几乎任意结构
5 B) p3 b7 \3 }( z* i% y10 接口的高阶用法
8 C: { ]& H) K/ O11 为函数和函数参数定义类型
$ P- v( K. S) p: [$ o12 使用泛型拯救你的any
& ^: y( \4 O* ~$ z7 L% a$ v13 TS中的类,小心它与ES标准的差异9 N+ E g8 I. C" s$ [/ J5 V& F
第三章 进阶部分
& r: L% q! W2 o" o14 类型推论,看TS有多懂你
/ i# E' h! Z7 E* I1 D' C, i5 u* o15 类型兼容性,开放心态满足灵活的JS4 @/ ?- E7 W( {/ q7 ~
16 使用类型保护让TS更聪明. f1 z" [" H0 {0 k8 A* D. Q( @0 T
17 使用显式复制断言给TS一个你一定会赋值的承诺
* h( @ s$ V- s18 类型别名和字面量类型—单调的类型
- S* n' ~* Z* Z8 V6 n, C19 使用可辨识联合并保证每个case都被处理
T" V& v' d6 t) W$ T9 o20 this,类型?, h; M1 M; u* {4 ~9 h% f& [/ o
21 索引类型:获取索引类型和索引值类型* j9 Q" j2 [9 T$ H: e
22 使用映射类型得到新的类型& }. h& Y7 y3 |0 _# m
23 前面跳过的unkown类型详解
" W3 w# O) ]5 B( N9 @- W4 Z! x24 条件类型,它不是三元操作符的写法吗?7 }6 u$ a e) P4 p2 K
25 入手装饰器,给凡人添加超能力3 a2 w2 u N0 z4 f" R. Z1 x
第四章 知识整合" W- x0 i* ^& Z: n) }- P% S
26 使用模块封装代码9 l4 m* |( C$ H+ _+ t% k- y1 P
27 使用命名空间封装代码* ^* z9 M7 C& ^6 _$ q/ N+ k- X- z0 P
28 对声明合并的爱与恨! t! q) P! W) t N4 P6 G! {
29 混入,兼顾值和类型的合并操作& O5 t" x, k% Y, J8 L
30 Promise及其语法糖async和await( m2 m$ @- B* d/ R! D
第五章 项目配置及书写声明文件
5 F4 p; l! D& |& x9 h31 逐条来看tsconfig.json配置
$ E! X' l! i4 c8 | Q32 书写声明文件之磨刀:识别库类型
2 @) K% ^1 d1 b9 N7 g; [( `4 d# V33 书写声明文件之砍柴:为不同类型库书写声明文件1 P7 x, V- [: t, R' i; h
第六章 项目实战-TS+Vue实现一个简单后台; N: a8 {8 m) e# R* _5 ~ }
34 搭建基础项目
' t* _$ h; X2 p8 \- m35 封装接口请求; W+ A4 b7 C" s# v7 e
36 实现登录页并用Mock响应请求, I& k) m1 o1 q1 A
37 搭建后台界面布局和结合Vuex实现完整登录流程
* h( Z* w8 ^9 l( B1 J8 z: }; u38 使用TypeScript开发Vue组件和使用Vue组件; x, a! w; ? ^( E& ]- O1 q
第七章 写在最后; F- m9 x# b2 a3 o4 [% P
39 结束语
( n+ h" {% _9 c. O* f
. N5 |5 C1 _/ p: `
% U2 M3 f T# p. Z6 y: ~$ F+ U& y4 {+ L% T4 ]5 ~1 A
|
|