File tree Expand file tree Collapse file tree 3 files changed +7
-9
lines changed Expand file tree Collapse file tree 3 files changed +7
-9
lines changed Original file line number Diff line number Diff line change 9
9
- [ GitHub 地址] [ GitHub ]
10
10
- 作者:[ xcatliu] ( https://github.com/xcatliu/ )
11
11
- 官方 QQ 群:[ 加入QQ群 767142358] ( https://jq.qq.com/?_wv=1027&k=5nkkFCl )
12
- - 官方微信群:<img src =" ./assets/wechat.jpeg " width =" 100 " />
13
12
14
13
本书是作者在学习 [ TypeScript] 后整理的学习笔记。
15
14
Original file line number Diff line number Diff line change @@ -14,11 +14,11 @@ npm install -g typescript
14
14
tsc hello.ts
15
15
```
16
16
17
- 我们约定使用 TypeScript 编写的文件以 ` .ts ` 为后缀。
17
+ 我们约定使用 TypeScript 编写的文件以 ` .ts ` 为后缀,用 TypeScript 编写 React 时,以 ` .tsx ` 为后缀 。
18
18
19
19
## 编辑器
20
20
21
- TypeScript 最大的优势之一便是增强了编辑器和 IDE 的功能,包括代码补全、接口提示、跳转到定义、重构等。
21
+ TypeScript 最大的优势便是增强了编辑器和 IDE 的功能,包括代码补全、接口提示、跳转到定义、重构等。
22
22
23
23
主流的编辑器都支持 TypeScript,这里我推荐使用 [ Visual Studio Code] ( https://code.visualstudio.com/ ) 。
24
24
Original file line number Diff line number Diff line change 26
26
27
27
- TypeScript 是 JavaScript 的超集,` .js ` 文件可以直接重命名为 ` .ts ` 即可
28
28
- 即使不显式的定义类型,也能够自动做出[ 类型推论] ( ../basics/type-inference.md )
29
- - 可以定义从简单到复杂的一切类型
29
+ - 可以定义从简单到复杂的几乎一切类型
30
30
- 即使 TypeScript 编译报错,也可以生成 JavaScript 文件
31
31
- 兼容第三方库,即使第三方库不是用 TypeScript 写的,也可以编写单独的类型文件供 TypeScript 读取
32
32
33
33
### TypeScript 拥有活跃的社区
34
34
35
35
- 大部分第三方库都有提供给 TypeScript 的类型定义文件
36
36
- Google 开发的 Angular2 就是使用 TypeScript 编写的
37
- - ES6 的一部分特性是借鉴的 TypeScript 的(这条需要来源)
38
- - TypeScript 拥抱了 ES6 规范,也支持部分 ES7 草案的规范
37
+ - TypeScript 拥抱了 ES6 规范,也支持部分 ESNext 草案的规范
39
38
40
39
### TypeScript 的缺点
41
40
42
41
任何事物都是有两面性的,我认为 TypeScript 的弊端在于:
43
42
44
- - 有一定的学习成本,需要理解接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的东西。而且它的中文资料也不多
45
- - 短期可能会增加一些开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目,TypeScript 能够减少其维护成本(这条需要来源)
43
+ - 有一定的学习成本,需要理解接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的概念
44
+ - 短期可能会增加一些开发成本,毕竟要多写一些类型的定义,不过对于一个需要长期维护的项目,TypeScript 能够减少其维护成本
46
45
- 集成到构建流程需要一些工作量
47
- - 可能和一些库结合的不是很完美(这条需要举例)
46
+ - 可能和一些库结合的不是很完美
48
47
49
48
大家可以根据自己团队和项目的情况判断是否需要使用 TypeScript。
50
49
You can’t perform that action at this time.
0 commit comments