TypeScript 教程

Image

TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。

TypeScript 由微软开发的自由和开源的编程语言,在 JavaScript 的基础上增加了静态类型检查的超集。

TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。


为什么选择 TypeScript

TypeScript 是由 Microsoft 开发的开源编程语言,它是 JavaScript 的超集,意味着任何有效的 JavaScript 代码也是有效的 TypeScript 代码。

TypeScript 通过添加可选的静态类型、接口、枚举等特性,大大增强了 JavaScript 的开发体验。

TypeScript 的主要优势

  • 静态类型检查:在编译时发现类型错误,减少运行时错误
  • 强大的 IDE 支持:智能代码补全、导航和重构
  • 更好的代码可读性:类型本身就是最好的文档
  • 现代 JavaScript 特性:支持 ES6+ 语法,如箭头函数、模块、类等
  • 渐进式迁移:可以逐步将现有 JavaScript 项目迁移到 TypeScript

TypeScript 工作原理

TypeScript 不能直接在浏览器中运行,它需要先编译为 JavaScript。这个编译过程会检查类型错误,并将 TypeScript 特有的语法转换为纯 JavaScript。

.ts 文件 TypeScript 编译器 (tsc) .js 文件 浏览器/Node.js

TypeScript 编译器 (tsc) 在编译过程中进行类型检查,如果发现类型错误会报错并阻止编译。编译成功后生成纯 JavaScript 代码,可以在任何浏览器或 Node.js 环境中运行。


语言特性

TypeScript 是对 JavaScript 的类型增强扩展,在保持原有语法兼容的基础上,引入了更强的类型系统和工程能力。

核心增强能力(TypeScript 独有)

特性 说明
类型批注 & 编译时检查 在开发阶段发现类型错误,提高代码可靠性
类型推断 无需显式声明类型,编译器可自动推断
类型擦除 编译后移除类型信息,输出纯 JavaScript
接口(Interface) 用于定义对象结构,增强代码约束
枚举(Enum) 提供命名常量集合,提升可读性
泛型(Generics) 支持类型复用,增强函数和类的灵活性
Mixin 实现多重继承的组合模式
命名空间(Namespace) 组织代码结构(旧方案,现多用模块)
元组(Tuple) 固定长度、不同类型的数组
异步(Await) 提供更直观的异步流程控制

来自 ES2015 的语法支持(向下兼容)

TypeScript 同时支持并向下编译 ECMAScript 2015 的核心特性:

特性 说明
类(Class) 面向对象编程支持
模块(Module) 支持模块化开发(import/export)
箭头函数(=>) 更简洁的函数写法,绑定词法作用域
可选参数 函数参数可以省略
默认参数 为参数提供默认值

JavaScript 与 TypeScript 的区别

TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。

TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。


第一个 TypeScript 实例

以下实例我们使用 TypeScript 来输出 Hello World!:

实例

const hello : string = "Hello World!" console.log(hello)

尝试一下 »