|
|
其实TypeScript并不是一门新的语言,它是 JavaScript 的超集。它最大的亮点,就是其无可替代的强类型系统,这也是它为什么叫 TypeScript 的原因。之所以说它的类型系统无可替代,是因为TypeScript 填充了 JavaScript 作为一门动态弱类型脚本语言的缺点,多了静态类型检查, 能够对代码中的错误及时反馈,而又保留了JavaScript 的灵活,维护大型工程项目更加轻松。! w, [! x$ I+ G
现在最流行的三大主流前端框架,React 和 Angular 使用 TypeScript 编写,而 Vue3.0 则会使用TypeScript 重写;而 NodeJS 的模块很多都添加了类型声明,所以使用 TypeScript 可以很好地开发前后端和其他场景的项目。
- Y' c9 N2 v& W4 _课程目录:8 O# t" F. q& ~$ m5 z4 g5 e
第一章 入门准备$ K( r: T9 S" R- k
01 开篇词:Hello~TypeScript4 L4 ^1 N* x& v. j9 T2 @' v; `+ R& I
02 TypeScript应该怎么学
' H# `( K. F. d5 z" ]- ^4 {03 VSCode揭秘和搭建开发环境
) V2 H7 m; @( D+ A; T( h" x第二章 基础部分
7 j% {0 X" I: J9 S7 J& m |* \" l! {04 八个JS中你见过的类型0 ]4 `* @: B, `* `' g( Q
05 TS中补充的六个类型4 v- ?6 U: j. g
06 Symbol-ES6新基础类型; |* S% Q* W4 F9 \/ g/ O
07 深入学习枚举7 _. F4 m- p. w6 Y3 H5 b6 f
08 使用类型断言达到预期( F( X) ]0 E8 |" a( ]+ G
09 使用接口定义几乎任意结构4 C4 {" O1 m4 L( b+ X# p6 m
10 接口的高阶用法
! D4 m: B% b! ^5 g& Z N3 d% P11 为函数和函数参数定义类型% |; A2 p# k& l8 H" i) N
12 使用泛型拯救你的any- k5 P: t7 a' H, K" J2 p% {2 g
13 TS中的类,小心它与ES标准的差异) L/ E. E8 D& D2 R! X- |+ c
第三章 进阶部分
r2 d: y' t5 ?4 j* U# x* {+ ]14 类型推论,看TS有多懂你0 H6 h4 E' K/ Z, K
15 类型兼容性,开放心态满足灵活的JS1 {+ r1 l$ i% T0 F
16 使用类型保护让TS更聪明- B& \3 @& W, D4 G) F6 z
17 使用显式复制断言给TS一个你一定会赋值的承诺
, _ x( l/ O" a18 类型别名和字面量类型—单调的类型' U6 e; F+ y/ L5 x$ g" M3 l
19 使用可辨识联合并保证每个case都被处理) G( N0 U6 U7 ^6 g6 Z
20 this,类型?+ N7 O9 A/ r( H9 j
21 索引类型:获取索引类型和索引值类型
0 u; l- m: K* ~- t6 r9 k2 O+ ]# S. \& a& z% Y22 使用映射类型得到新的类型6 k! w0 K" R& f9 k% U$ [% L
23 前面跳过的unkown类型详解1 y1 x' }( M7 c; r* |
24 条件类型,它不是三元操作符的写法吗?
1 ?. Z5 D3 A. M25 入手装饰器,给凡人添加超能力& y! a b2 w/ m" ]5 N' B6 p
第四章 知识整合
/ I! H8 v) C/ Z V9 S' W26 使用模块封装代码/ M# ~' ^% u1 ]' R% ^& i
27 使用命名空间封装代码 J6 h# D. R1 ~ R$ \) l! m" s
28 对声明合并的爱与恨; c! H; W& n, ^8 _4 X4 R
29 混入,兼顾值和类型的合并操作4 F" j3 U- c, x
30 Promise及其语法糖async和await( v, _% x. A, ? ~
第五章 项目配置及书写声明文件$ [- A9 D! s: K) U0 E0 p6 D
31 逐条来看tsconfig.json配置
$ ^% |" k/ l; J9 s2 f1 J0 o32 书写声明文件之磨刀:识别库类型0 h+ V( ^$ m" W: k Z
33 书写声明文件之砍柴:为不同类型库书写声明文件/ T! d) N* F- l7 p' x
第六章 项目实战-TS+Vue实现一个简单后台' N+ K4 N1 Q P! ^) ]
34 搭建基础项目
" H5 @7 g1 j0 c) K6 Z35 封装接口请求
8 H2 S0 h3 z! a2 i4 j; W. ]# I) B36 实现登录页并用Mock响应请求; ^, _! H2 h& S; g1 |7 V, L
37 搭建后台界面布局和结合Vuex实现完整登录流程3 Z) ?3 v9 ~! S! S% {
38 使用TypeScript开发Vue组件和使用Vue组件/ Q. T5 _* C9 K; d# t7 g
第七章 写在最后
' n1 u0 F% j& X+ ]5 ^8 u* D* ? g39 结束语, o; s G! w6 j- O' B% X
6 m5 W. C3 G" A e
2 l3 j1 |" u/ `" J
7 P2 Y" T2 k& F3 h" Z |
|