TypeScript
什么是 TypeScript
Typescript 是一个强类型的 JavaScript 超集,支持 ES6 语法,支持面向对象编程的概念,如类、接口、继承、泛型等。Typescript 并不直接在浏览器上运行,需要编译器编译成纯 Javascript 来运行。
为什么需要 TypeScript
- TypeScript 快速、简单,易于学习
- TypeScript 支持
面向对象的编程特性,例如类、接口、继承、泛型等 - TypeScript 在编译时提供
错误检查功能 - TypeScript 支持所有 JavaScript 库,因为它是
JavaScript 的超集 - TypeScript 通过使用
继承来支持可重用性 - TypeScript 支持
最新的 JavaScript 功能 - TypeScript 支持
静态类型、强类型、模块、可选参数等
TypeScript 的主要特点是什么
跨平台:TypeScript 编译器可以安装在任何操作系统上ES6 特性:TypeScript 包含计划中的 ECMAScript 2015 (ES6) 的大部分特性面向对象的语言:TypeScript 提供所有标准的 OOP 功能,如类、接口和模块静态类型检查:TypeScript 使用静态类型并帮助在编译时进行类型检查可选的静态类型:TypeScript 允许可选的静态类型- DOM 操作:可以使用 TypeScript 来操作 DOM 以添加或删除网页元素
TypeScript 的缺点
- 需要时间编译
- 不支持抽象类
- 需要执行编译步骤才能将 TypeScript 转换为 JavaScript 才能在浏览器中运行
- 使用任何第三方库,定义文件是必须的(若无会极大影响开发体验)
- 类型定义文件的质量很难把控
- 类型体操学习曲线陡峭
JavaScript 与 TypeScript 的区别
| 特性 | JavaScript | TypeScript |
|---|---|---|
| 开发时间 | Netscape 1995 | Anders Hejlsberg 2012 |
| 扩展名 | .js | .ts |
| 类型支持 | 弱类型语言 | 强类型,支持静态检查 |
| 浏览器执行 | 可直接执行 | 需要编译成 JS 后再执行 |
| 本质 | 解释型语言,运行报错 | 编译型语言,开发期间报错 |
| 基础类型 | 对象、字符串是对象 | 数字、字符串是接口 |
| 泛型支持 | 不支持 | 支持 |
TypeScript 的组成部分
- 语言:它由语法,关键字和类型注释组成
- TypeScript
编译器:编译器将用 TypeScript 编写的指令转换为等效的 JavaScript - TypeScript 语言服务:语言服务在核心编译器管道周围暴露了一个附加层
TypeScript 的内置类型
- boolean 布尔类型
- number 数字类型
- string 字符串类型
- void 空类型
- null 类型
- undefined 类型
- array 数组类型
- tuple 元组类型,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
- enum 枚举类型,enum 类型是对 JavaScript 标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字
- any 任意类型
- never 类型
- object 对象类型
