|
|
其实TypeScript并不是一门新的语言,它是 JavaScript 的超集。它最大的亮点,就是其无可替代的强类型系统,这也是它为什么叫 TypeScript 的原因。之所以说它的类型系统无可替代,是因为TypeScript 填充了 JavaScript 作为一门动态弱类型脚本语言的缺点,多了静态类型检查, 能够对代码中的错误及时反馈,而又保留了JavaScript 的灵活,维护大型工程项目更加轻松。
6 h n! i7 s+ L; ] 现在最流行的三大主流前端框架,React 和 Angular 使用 TypeScript 编写,而 Vue3.0 则会使用TypeScript 重写;而 NodeJS 的模块很多都添加了类型声明,所以使用 TypeScript 可以很好地开发前后端和其他场景的项目。+ s5 {, [& d* S4 s
课程目录:
: c/ l: d @9 _. V* t第一章 入门准备% ?; q* t( @7 f5 l# O. f/ i
01 开篇词:Hello~TypeScript
2 U7 m, f9 V% q3 T; A' ^9 \02 TypeScript应该怎么学4 N1 z$ I( W8 P# b' x. o$ v
03 VSCode揭秘和搭建开发环境/ S5 f$ c0 `8 G# g
第二章 基础部分
# J% g7 j1 ~7 ^/ a, G5 f; B- B6 E04 八个JS中你见过的类型. T/ n- e0 |; R( V! {
05 TS中补充的六个类型4 P& y' t: H0 p: B2 g k6 A. K- e
06 Symbol-ES6新基础类型- j' X1 @* a z" U1 u$ v& X
07 深入学习枚举 C4 A5 o, J9 T0 K7 B9 x6 G! V, Q' U( @
08 使用类型断言达到预期
* e/ T% Q' }; U1 u$ h, u$ g09 使用接口定义几乎任意结构% R) W0 \& M* z& @% c( c" d
10 接口的高阶用法) { n3 e- M! [$ q4 n9 s3 a
11 为函数和函数参数定义类型* N0 E$ U4 c; ?+ T6 ^
12 使用泛型拯救你的any- g0 L: K3 r3 ^5 a- n+ D
13 TS中的类,小心它与ES标准的差异$ ~- u" S% s# J7 ~3 Z1 U6 V
第三章 进阶部分: S+ i0 \0 r! W' _$ f: D- v% K
14 类型推论,看TS有多懂你
* t! f! n; f7 }& j15 类型兼容性,开放心态满足灵活的JS
6 ^. |" X. ~7 z( u, D! ~16 使用类型保护让TS更聪明' c- O- m( Q7 C2 F0 j# L" R
17 使用显式复制断言给TS一个你一定会赋值的承诺, h1 z8 T+ f9 m; N8 ^
18 类型别名和字面量类型—单调的类型
4 V7 t5 o' T/ @; V C+ E5 u9 r19 使用可辨识联合并保证每个case都被处理
: A- @; B, W7 f; b0 Z5 g20 this,类型?: n1 n) s, Y. U r
21 索引类型:获取索引类型和索引值类型
) j1 A' I. q0 u5 ]! b+ s9 B4 `$ L7 [22 使用映射类型得到新的类型
( g4 v* s( {9 n& P6 H. Z4 C9 {/ k23 前面跳过的unkown类型详解$ x# j+ |/ d" [
24 条件类型,它不是三元操作符的写法吗?0 d$ p- _" h7 R) o' L4 x8 }- J
25 入手装饰器,给凡人添加超能力+ U9 O1 w+ I% D3 e
第四章 知识整合
0 k; Q- Z6 [; Z26 使用模块封装代码
$ c) A5 i! w4 ?0 m" o6 z27 使用命名空间封装代码
% x; [4 ]2 L. X% l8 {28 对声明合并的爱与恨
, f1 ^+ S" M9 m6 w* [1 h29 混入,兼顾值和类型的合并操作
1 r6 u# U) \, E5 a, l* C& ?/ l& X30 Promise及其语法糖async和await% @7 R2 P {: R, k1 z; P
第五章 项目配置及书写声明文件
% {: G& p8 e; R) V! c/ C3 b% [# D31 逐条来看tsconfig.json配置
I" `$ ]/ P' p2 n# U3 R32 书写声明文件之磨刀:识别库类型
1 l, ?$ F+ Q ]/ s/ j+ K33 书写声明文件之砍柴:为不同类型库书写声明文件/ q/ ~ L: s! ]1 {. g
第六章 项目实战-TS+Vue实现一个简单后台* e& D8 Y6 w( W2 m* [+ U' J4 O/ k
34 搭建基础项目
3 x& g6 M. a* J) `% i* z$ ]35 封装接口请求# H U1 b/ u% S* I7 y1 h4 @) @
36 实现登录页并用Mock响应请求4 O) Q( e8 i' q1 k# O( Q) O
37 搭建后台界面布局和结合Vuex实现完整登录流程
/ P3 I" X4 L4 U8 y' U3 [, e. j38 使用TypeScript开发Vue组件和使用Vue组件) m) o! n8 G" n. ^6 Y6 z% I
第七章 写在最后9 Q9 i$ K7 _" \+ h4 f8 Q% R. l
39 结束语
y$ D" x" M% R4 u1 A+ _5 j- H ! v# c6 \/ @1 _* f( {& H! H
+ e# U$ i& ]: b4 U* j6 v# Y# V7 y) F5 {# Y; H" V
|
|