|
|
其实TypeScript并不是一门新的语言,它是 JavaScript 的超集。它最大的亮点,就是其无可替代的强类型系统,这也是它为什么叫 TypeScript 的原因。之所以说它的类型系统无可替代,是因为TypeScript 填充了 JavaScript 作为一门动态弱类型脚本语言的缺点,多了静态类型检查, 能够对代码中的错误及时反馈,而又保留了JavaScript 的灵活,维护大型工程项目更加轻松。& K: X: b, ?/ B$ X0 I8 y
现在最流行的三大主流前端框架,React 和 Angular 使用 TypeScript 编写,而 Vue3.0 则会使用TypeScript 重写;而 NodeJS 的模块很多都添加了类型声明,所以使用 TypeScript 可以很好地开发前后端和其他场景的项目。" T0 S: t- X% X- k
课程目录:
) F" C; W+ F6 Z第一章 入门准备
( h1 W# |$ [1 r( i! {0 f! i, {% n6 f01 开篇词:Hello~TypeScript
! x8 y9 R3 X) J. J02 TypeScript应该怎么学' m8 y3 W1 F( Y* C# X
03 VSCode揭秘和搭建开发环境
7 h. y- r2 y2 {$ V' |0 W* _第二章 基础部分6 T& V% Z+ N3 A3 \0 R& a1 z
04 八个JS中你见过的类型
/ L6 X) f; L7 ]# x5 \05 TS中补充的六个类型% P) o3 U2 g, p/ u8 W# J
06 Symbol-ES6新基础类型
! M% k8 U& N* D# p' Q07 深入学习枚举9 B( U" W. A0 E9 A* K
08 使用类型断言达到预期8 o( b& Q! p; @4 I8 m
09 使用接口定义几乎任意结构3 d6 N) T7 x4 O5 Z9 c
10 接口的高阶用法8 i1 c8 o# f4 U6 Z4 d$ `
11 为函数和函数参数定义类型! m, d4 q& K: r: X% D
12 使用泛型拯救你的any
t$ @$ o& ]; U, K13 TS中的类,小心它与ES标准的差异2 l$ v) N6 J( Q" E( H2 B5 a6 b
第三章 进阶部分
* z3 d! d' g; U5 ?- _$ i14 类型推论,看TS有多懂你
) f Z/ y6 z S; y. ~4 \* E9 M15 类型兼容性,开放心态满足灵活的JS
\* e2 Y1 B1 m4 I( _16 使用类型保护让TS更聪明! d7 l& {: k* ]6 s
17 使用显式复制断言给TS一个你一定会赋值的承诺
% B# Z4 e! L9 w% U3 j* B6 _5 E18 类型别名和字面量类型—单调的类型
, p3 }: M" c( y6 a9 G19 使用可辨识联合并保证每个case都被处理' C0 ?% w; K0 Z' u0 N/ U w1 y1 }
20 this,类型?+ M) G$ M; w) A# s! g$ s1 \
21 索引类型:获取索引类型和索引值类型
?4 C; ]# g6 i22 使用映射类型得到新的类型$ I- A# p0 _$ ?3 N# Y' x
23 前面跳过的unkown类型详解
) A! u4 T2 g# b2 Y$ k24 条件类型,它不是三元操作符的写法吗?$ e: V6 k# f6 t* X0 b3 w; x
25 入手装饰器,给凡人添加超能力
& {; b- k. y% l! M! z' `. I第四章 知识整合
1 ^, Z6 G1 F8 Q0 j- q* U2 _26 使用模块封装代码
: v" [" \- r' F, Z1 }$ F3 u# A, W3 l! Y27 使用命名空间封装代码$ x$ G, k, K1 [: C3 Y
28 对声明合并的爱与恨/ e% {% A, |' R; Y4 t" X
29 混入,兼顾值和类型的合并操作
! {( ~5 X, }9 O1 l. r. |30 Promise及其语法糖async和await
- z& I! j1 v, N) {; F# H第五章 项目配置及书写声明文件
" g' K& v9 {: Y4 k( C5 |7 O31 逐条来看tsconfig.json配置) v/ ]4 ^/ l* E/ O: M' u# A9 u, X7 a
32 书写声明文件之磨刀:识别库类型
! T8 E/ W) _: S0 D1 J3 H2 R0 ?33 书写声明文件之砍柴:为不同类型库书写声明文件
2 r* Z3 P" W- h& Z4 F第六章 项目实战-TS+Vue实现一个简单后台
- T* u5 ~' v0 r* R34 搭建基础项目3 y% e5 H3 G$ `6 X" r9 [. g
35 封装接口请求# K7 @5 i9 o7 i ^
36 实现登录页并用Mock响应请求
1 y/ k) Q. W/ @37 搭建后台界面布局和结合Vuex实现完整登录流程
2 t* B! P- m4 t( q1 q9 X38 使用TypeScript开发Vue组件和使用Vue组件$ ~. g0 G5 [8 {" S/ J$ i
第七章 写在最后
* y; ?) G: K5 |- u( U& G% s39 结束语1 |. ^1 w; Z. y( g! C
0 m/ q# b+ [1 q) {7 n0 ?9 i
4 R; ]0 u8 O; A& J- m2 z, q2 H2 }8 {
. z1 S7 H- t8 W. |7 \7 X, q |
|