在线阅读 https://niexia.github.io/typescript-tutorial/
英文原版 https://www.typescripttutorial.net/
TypeScript 是类型化的 JavaScript。TypeScript 将类型添加到 JavaScript 中,通过在运行 JavaScript 代码之前捕捉错误来帮助你加快开发速度。
TypeScript 是一种开源的编程语言,建立在 JavaScript 之上。它可以在任何浏览器、任何操作系统、任何运行 JavaScript 的环境中使用。
在这个 TypeScript 教程中,你将学习:
- 为什么 TypeScript 比 JavaScript 有很多好处。
- 了解 TypeScript 的真正含义,以及它是如何在引擎下工作的。
- 使用 TypeScript 及其丰富的功能,如类型、类、接口、模块,以及更多。 前提条件
要学习本教程,你需要具备以下条件:
- 基本的 JavaScript 知识。如果你想学习 JavaScript,请查看JavaScript Tutorial。
- ECMAScript 2015 或 ES6知识。
第 1 节 Getting Start
- 什么是 TypeScrip - 了解什么是 TypeScript 以及它相对于普通 JavaScript 的优势。
- TypeScript 开发环境设 - 告诉你如何设置 TypeScript 开发环境,以提高 TypeScript 的工作效率。
- TypeScript “Hello World!” - 指导你完成在 TypeScript 中创建第一个名为 Hello, World 的程序的步骤。
- 为什么选择 TypeScrip - 清楚地了解为什么要使用 TypeScript。
第 2 节 Basic Types
- TypeScript 类型 - 学习如何使用类型注解来定义变量、函数参数和返回值的静态类型。
- 类型注解 - 学习 TypeScript 中的类型注解(type annotations)
- 类型推断 - 向你介绍 TypeScript 中的类型推断(type inference)
- number 类型 - 学习数字类型,包括浮点数字和大整数。
- string 类型 - 告诉你如何在 TypeScript 中使用字符串类型。
- boolean 类型 - 指导你了解布尔类型以及如何有效地使用它。
- object 类型 - 向你介绍代表非原始值的对象类型。
- array 类型 - 告诉你如何使用数组及其操作。
- tuple 类型 - 学习如何在元组中存储已知类型的固定数量的元素。
- enum 类型 - 告诉你如何通过使用枚举类型来定义一组命名的常量。
- any 类型 - 学习如何使用任意类型在一个变量中存储任意类型的值。
- void 类型 - 告诉你如何使用 void 类型作为不返回任何值的函数的返回类型。
- never 类型 - 学习如何使用不包含任何值的 never 类型。
- union 类型 - 指导你如何用联合类型在一个变量中存储一个或几个类型的值。
- 类型别名 - 告诉你如何使用类型别名为类型定义新的名称。
- 字符串字面类型 - 学习如何定义一个只接受指定字符串字面的类型。
第 3 节 Control Flow Statements
- if else - 学习如何根据一个条件来执行代码。
- switch case - 告诉你如何使用 switch 语句来允许一些可能的执行路径。
- for - 创建一个执行指定次数的循环。
- while - 创建一个预测循环,只要一个条件为真就执行。
- do while - 学习如何创建一个后测循环,执行到一个条件为假。
- break - 告诉你如何使用 break 语句来终止一个循环或一个 switch。
- continue - 学习如何跳到循环的末端并继续下一次迭代。
第 4 节 Functions
- 函数 - 学习如何在 TypeScript 中声明一个使用类型注解的函数。
- 函数类型 - 指导你如何使用函数类型来定义函数的类型。
- 可选参数 - 告诉你如何用可选参数定义函数。
- 默认参数 - 向你介绍默认参数。
- Rest 参数 - 使用 rest 参数来处理函数的无限数量的参数。
- 函数重载 - 学习如何通过函数重载在参数类型和函数结果之间建立联系。
第 5 节 Classes
- 类 - 学习如何在 TypeScript 中构建一个类。
- 访问修饰符 - 向你介绍私有、保护和公共访问修饰符。
- 只读属性 - 学习如何使用 readonly 修饰符来使类的属性不可改变。
- Getters 和 Setters - 告诉你如何使用 getters 和 setters 来控制类属性的访问。
- 继承 - 学习如何使用继承来重复使用另一个类的功能。
- 静态方法和属性 - 定义类的所有实例共享的静态方法和变量。
- 抽象类 - -解释定义一些常见行为的抽象类。
第 6 节 Interfaces
第 7 节 Advanced Types
- 交叉类型 - 告诉你如何创建一个具有现有类型所有特征的新类型。
- 类型守卫 - 学习如何使用类型守卫来缩小条件块中变量的类型。
- 类型转换 - 告诉你如何使用类型转换将一种类型的变量转换为另一种类型。
- 类型断言 - 指导你如何使用类型断言来告诉编译器将一个值视为指定的类型。
第 8 节 Generics
- Typescript 泛型 - 学习如何使用 TypeScript 泛型来开发泛型函数。
- 泛型约束 - 告诉你如何为泛型类型添加约束。
- 泛型类 - 指导你如何开发泛型类。
- 泛型接口 - 引导你完成创建泛型接口的步骤。
第 9 节 Modules
- TypeScript 模块 - 向您介绍 TypeScript 中的模块以及如何在其他模块中使用它们。
第 10 节 TypeScript in Node.js
- Node.js TypeScript - 如何设置在 Node.js 项目中使用 TypeScript 的开发环境。