Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joye61/typescript-tutorial
TypeScript速成教程(2小时速成)
https://github.com/joye61/typescript-tutorial
typescript
Last synced: 13 days ago
JSON representation
TypeScript速成教程(2小时速成)
- Host: GitHub
- URL: https://github.com/joye61/typescript-tutorial
- Owner: joye61
- License: mit
- Created: 2018-10-31T09:10:42.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-16T01:39:44.000Z (over 3 years ago)
- Last Synced: 2024-08-01T19:51:48.069Z (3 months ago)
- Topics: typescript
- Homepage:
- Size: 85 KB
- Stars: 510
- Watchers: 11
- Forks: 87
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TypeScript 速成教程
根据[官方语言规范描述](https://github.com/microsoft/TypeScript/blob/master/spec.md#1):TypeScript 的语法是 `ECMAScript 2015` (后面统称`ES6`) 语法的**超集**,这种说法不完全准确,比方说对于来自`ES7`的`async`和`await`语法TypeScript也提供了语言支持。
TypeScript完全兼容“`ES6+`”, 学习TypeScript的时候,无需纠结语言特性到底是来自`ES6`、`ES7`、还是`ESNext`,[babel编译器](https://babeljs.io/)所支持的语言特性,TypeScript绝大部分都原生支持。
本教程**不会讲解**`ES6`或者`ES6+`的知识点,作为TypeScript语言的基础,**请务必优先自行掌握 `ES6`**
## 如何学习本教程
本教程以**快速工程实践**为目标,旨在让读者**速成**,能够迅速的GET到语言的核心知识点,并付诸实践!
语言始终是一种改进生产力的工具,陌生使用者最迫切的需求应该是快速掌握工具的使用,而不是在连工具都没学会使用的时候,就先沉迷于细枝末叶,奇技淫巧。真正的熟练:应该是**在实践中大量使用、在实践中踩坑、以及在实践中理解**的过程中自然形成的。
切记:**不要钻牛角尖,更不要纠结于咬文嚼字**!
## 编译器版本
目前所有示例都通过了 `tsc` 编译器版本 `Version 3.7.2` 编译,可自行验证。如果发现了错误,请[提交Issue](https://github.com/joye61/typescript-tutorial/issues/new),以防对他人造成误导
## 1、类型
- [1.1 为什么需要类型](./类型/为什么需要类型.md)
- [1.2 值的类型化](./类型/值的类型化.md)
- [1.3 简单类型](./类型/简单类型.md)
- [1.4 数组类型](./类型/数组类型.md)
- [1.5 函数类型](./类型/函数类型.md)
- [1.6 枚举类型](./类型/枚举类型.md)
- [1.7 复合类型](./类型/复合类型.md)
- [1.8 接口类型](./类型/接口类型.md)
- [1.9 类类型](./类型/类类型.md)## 2、泛型
- [2.1 泛型语法](./泛型/泛型语法.md)
- [2.2 泛型约束](./泛型/泛型约束.md)
- [2.3 泛型数组](./泛型/泛型数组.md)## 3、类型转换
- [3.1 类型别名](./类型转换/类型别名.md)
- [3.2 类型断言](./类型转换/类型断言.md)## 4、模块
- [4.1 CommonJS兼容模块](./模块/CommonJS兼容模块.md)
## 5、命名空间
- [5.1 命名空间](./命名空间/命名空间.md)
- [5.2 空间拆分](./命名空间/空间拆分.md)
- [5.3 空间嵌套](./命名空间/空间嵌套.md)
- [5.4 空间别名](./命名空间/空间别名.md)## 6、理解声明
- [6.1 为什么需要声明](./深入声明/为什么需要声明.md)
- [6.2 内部声明](./深入声明/内部声明.md)
- [6.3 外部声明](./深入声明/外部声明.md)
- [6.4 三斜线指令和d.ts文件](./深入声明/三斜线指令和d.ts文件.md)