TypeScript 和 ES6 的区别

2025年4月28日 | 阅读 3 分钟

TypeScript

TypeScript 是一种开源的纯面向对象编程语言。它是 JavaScript 的强类型超集,可以编译成纯 JavaScript。 TypeScript 由 MicrosoftApache 2 许可下开发和维护。它不能直接在浏览器上运行。它需要一个编译器来编译并生成 JavaScript 文件。 TypeScript 源文件使用 ".ts" 扩展名。 我们可以通过将任何有效的 ".js" 文件重命名为 ".ts" 文件来使用它。 TypeScript 是带有附加功能的 JavaScript 的 ES6 版本。

TypeScript 的历史

Anders Hejlsberg 开发了 TypeScript。 它于 2012 年 10 月 1 日首次向公众发布。 经过 Microsoft 内部两年多的开发,TypeScript 0.9 的新版本于 2013 年发布。 TypeScript 的当前版本是 TypeScript 3.4.5,于 2019 年 4 月 24 日发布。

ES6

ECMAScript (ES) 是一种由 ECMA 国际标准化的脚本语言规范。 它的创建是为了标准化 JavaScript。 ES 脚本语言包含许多实现,最受欢迎的是 JavaScript。 开发人员主要将ECMAScript 用于万维网 (WWW) 的客户端脚本

ECMAScript 标准的第六版是 ECMAScript6 或 ES6,后来更名为 ECMAScript 2015。 它是 JavaScript 语言的一个重大增强,使我们能够为复杂的应用程序编写程序。 它添加了许多旨在使大规模软件开发更容易的功能。 最常见的 ES6 网络浏览器是 ChromeFirefox转换编译器将基于 ES6 的代码转换为许多浏览器支持的 ES5。 TypeScript 是一种转换编译器。 Grunt、Gulp 和 Babel 是用于编译模块的其他一些转换编译器。 因此,TypeScript 支持 ES6。

历史

JavaScript 由 Brendan Eich1995 年 5 月推出。 它最初被称为 Mocha,这个名字是由 Netscape 创始人 Marc Andreessen 选择的,后来更名为 LiveScript。 与此同时,Sun Microsystems 拥有 JavaScript 的商标。 1995 年 12 月,Netscape 获得了商标许可并将其更名为 JavaScript。

1996 年到 1997 年之间,Netscape 将 JavaScript 提交给 ECMA 标准组织,以维护该语言的规范。 1997 年 6 月,成立了 ECMA 技术委员会 39 (TC39) 以继续发展该语言,最终发布了 ECMA-262 Ed.1

JavaScript 的第一个标准版本 ECMAScript 1 于 1997 年 6 月发布。 一年后,发布了 ECMAScript 2,其中仅包含保持 JavaScript 并行 ISO 标准的微小更改。 1999 年 12 月,发布了 ECMAScript 3,其中引入了许多流行的 JavaScript 功能。 2009 年 12 月,发布了 ECMAScript 或 ES6,随后更名为 ECMAScript 2015。

TypeScript vs. ES6

TypeScript vs. ES6
TypeScriptES6
定义TypeScript 是一种免费的开源纯面向对象编程语言。 它由 Microsoft 开发和维护。ES6 是 ECMAScript (ES) 的一个版本,ECMAScript (ES) 是由 ECMA 国际标准化的脚本语言规范。
说明Typescript 旨在消除开发错误。ES6 在开发时间上相对更灵活。
数据类型TypeScript 支持所有原始数据类型。ES6 不支持所有数据类型。
特点TypeScript 包含泛型和类型注解、推断、枚举和接口等功能。ES6 不支持这些功能。
范围Typescript 有三个作用域。
  1. 全局作用域
  2. 类作用域
  3. 局部作用域
ES6 有两个作用域。
  1. 全局作用域
  2. 局部作用域
决策
  1. if 语句
  2. if-else 语句
  3. else...if 和嵌套 if 语句
  4. switch 语句
  1. if 语句
  2. if-else 语句
  3. else-if 阶梯/嵌套 if 语句。
  4. switch?case 语句
模块TypeScript 模块有两种类型
  1. 内存
  2. 外部模块
我们可以通过两种方式对 ES6 模块进行分类
  1. 导入模块
  2. 导出模块
循环Typescript 和 ES6 都有相同的循环。
  1. 明确的
  2. 不确定的
Typescript 和 ES6 都有相同的循环。
  1. 明确的
  2. 不确定的
为什么选择开发人员选择 TypeScript
  • 类型安全
  • JavaScript 超集
  • 强大的类型系统,包括泛型和 JS 功能。
  • 与 ES 开发保持一致以实现兼容性。
  • 结构化的,而不是名义上的,子类型。
  • 编译时错误。
  • 以 JavaScript 开始和结束。
开发人员选择 ES6
  • ES6 代码比传统的 JS 更短
  • 模块系统标准化
  • 非常紧凑
  • 解构赋值
使用的公司使用 TypeScript 的公司列表是
  • Slack
  • Asana
  • CircleCI
  • Intuit
  • Swat.io
  • Avocode
使用 ES6 的公司列表是
  • Slack
  • StackShare
  • eBay
  • Asana
  • Intuit
  • Swat.io

下一个主题TypeScript 与 Flow