# typescript-tutorial **Repository Path**: thebestweb/typescript-tutorial ## Basic Information - **Project Name**: typescript-tutorial - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-07-08 - **Last Updated**: 2021-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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)