Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joye61/typescript-tutorial

TypeScript速成教程(2小时速成)
https://github.com/joye61/typescript-tutorial

typescript

Last synced: about 2 months ago
JSON representation

TypeScript速成教程(2小时速成)

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)