|
|
其实TypeScript并不是一门新的语言,它是 JavaScript 的超集。它最大的亮点,就是其无可替代的强类型系统,这也是它为什么叫 TypeScript 的原因。之所以说它的类型系统无可替代,是因为TypeScript 填充了 JavaScript 作为一门动态弱类型脚本语言的缺点,多了静态类型检查, 能够对代码中的错误及时反馈,而又保留了JavaScript 的灵活,维护大型工程项目更加轻松。
h' V& `( h# b% L 现在最流行的三大主流前端框架,React 和 Angular 使用 TypeScript 编写,而 Vue3.0 则会使用TypeScript 重写;而 NodeJS 的模块很多都添加了类型声明,所以使用 TypeScript 可以很好地开发前后端和其他场景的项目。
- Z# i0 d5 w6 g% a6 {: Z3 J" p课程目录:
0 O" Z U+ S+ [7 L& r第一章 入门准备. ?3 X$ v# G9 Y/ s5 l5 Q1 Q1 [
01 开篇词:Hello~TypeScript4 k! Y6 w0 ~$ N) G, l7 M1 E+ U
02 TypeScript应该怎么学
, i) y5 I. \( r3 N0 z2 U- `03 VSCode揭秘和搭建开发环境
( k' |% z) S5 Y7 D( J8 E第二章 基础部分; ~0 `# \ @0 [
04 八个JS中你见过的类型
! X) m' m0 @& e9 @# b% a/ k05 TS中补充的六个类型9 ]* P( `) r p0 a* Y7 O: a) D* p
06 Symbol-ES6新基础类型
' J. {3 o+ g' ^) [7 l07 深入学习枚举
. G C. B! ?$ S9 x) n' F) r* l08 使用类型断言达到预期
7 p) B+ P8 U. F5 Q09 使用接口定义几乎任意结构
! I6 B9 m- i: Q$ g. o10 接口的高阶用法
1 Q% ~0 D1 k+ R! }11 为函数和函数参数定义类型
) w. D. ?+ f7 x! Q) F12 使用泛型拯救你的any0 E( c# v( h D0 s+ d- P
13 TS中的类,小心它与ES标准的差异. {( w* ^6 q! {6 Y! ?
第三章 进阶部分
; ?8 ~* @% ~8 z/ P; Q, l" Z14 类型推论,看TS有多懂你) P& {+ F1 o( H/ K0 t
15 类型兼容性,开放心态满足灵活的JS
& `5 B3 r) D5 y2 J& D/ C- @16 使用类型保护让TS更聪明
0 Q/ A7 }2 Q6 N$ I7 e17 使用显式复制断言给TS一个你一定会赋值的承诺
8 _; V6 D0 u/ V7 q) J( p18 类型别名和字面量类型—单调的类型( @; g. A) W/ ~7 J7 n% V
19 使用可辨识联合并保证每个case都被处理5 ~* |3 X1 A0 b6 X6 f/ Z$ q
20 this,类型?
) b q' y( K) T0 ~21 索引类型:获取索引类型和索引值类型
* W2 ]( V5 i0 z" j22 使用映射类型得到新的类型
) m2 ?5 K7 ~8 g7 `. K* ]23 前面跳过的unkown类型详解4 _$ q7 u: n* H: o; M! z# ~
24 条件类型,它不是三元操作符的写法吗?
0 X7 d( D( I' J, _! I5 ~7 k9 K25 入手装饰器,给凡人添加超能力
( `. s: x% M: S( [2 e# b6 J第四章 知识整合0 P& N- K% g) V7 l( J# j
26 使用模块封装代码
! k5 C$ f# z) N1 }' T27 使用命名空间封装代码
4 O* @2 S, ^5 S N- r0 ~28 对声明合并的爱与恨
; ^* \/ ]- u6 A6 ]- t# k5 j29 混入,兼顾值和类型的合并操作 z2 Q6 `3 G- |7 @( z/ r" M
30 Promise及其语法糖async和await: D( K* G! l- c, E" G4 M/ U
第五章 项目配置及书写声明文件" o* D5 P& S5 w; P# ^
31 逐条来看tsconfig.json配置1 s0 r! D# K8 e. {) M1 a2 {
32 书写声明文件之磨刀:识别库类型
8 u2 h3 f1 e3 e7 F$ ` L33 书写声明文件之砍柴:为不同类型库书写声明文件1 [3 I S' h1 Q8 X! S9 R. Y
第六章 项目实战-TS+Vue实现一个简单后台
" _1 r1 C0 R' M34 搭建基础项目2 H- C$ z% N. _3 S% }3 ?% {
35 封装接口请求
# H6 S& K& F# s/ F% d1 L36 实现登录页并用Mock响应请求9 } V3 \2 s! K5 I' s& s
37 搭建后台界面布局和结合Vuex实现完整登录流程
5 {7 }' E3 W |38 使用TypeScript开发Vue组件和使用Vue组件
- y# }9 H0 p3 F. C7 W第七章 写在最后
. f: \% M5 Q& O1 }: r" U39 结束语
" A8 T6 q2 g$ b' H0 y! H + R9 Q( D: \4 k7 G V8 x5 R
* V/ k" j, k1 v1 F2 y9 I
. j- `: b8 `8 U( d! a |
|