TypeScript 和 ES6 的区别

TypeScript 和 ES6 的区别

TypeScript

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

TypeScript 的历史

TypeScript 是由 Anders Hejlsberg 开发的。它首次在 2012 年 10 月公开发布。在微软公司内部开发了两年之后,2013 年推出了 TypeScript 0.9 的新版本。当前版本的 TypeScript 是 TypeScript 3.4.5,于 2019 年 4 月 24 日发布。

ES6

ECMAScript(ES)是由 ECMA 国际标准化的脚本语言规范。它被创建来标准化 JavaScript。ES 脚本语言包含许多实现,最流行的是 JavaScript。开发人员主要使用 ECMAScript 来进行 Web 世界的客户端脚本编写。

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

历史

JavaScript 是由 Brendan Eich 于 1995 年 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,其中只包括一些 minor 的更改以保持 JavaScript 的 ISO 标准同步。1999 年 12 月,发布了 ECMAScript 3,它引入了许多流行的 JavaScript 功能。在 2009 年 12 月,发布了 ECMAScript 或 ES6,并随后重命名为 ECMAScript 2015。

TypeScript vs. ES6

TypeScript 和 ES6 的区别

类别 TypeScript ES6
定义 TypeScript 是一种免费和开源的纯面向对象编程语言。它由微软开发和维护。 ES6 是 ECMAScript(ES)的一种版本,它是由 ECMA 国际标准化的脚本语言规范。
解释 TypeScript 用于消除开发错误。 ES6 在开发时间上相对更灵活。
数据类型 TypeScript 支持所有基本数据类型。 ES6 不支持所有数据类型。
功能 TypeScript 包含了泛型和类型注解、推断、枚举和接口等功能。 ES6 不支持这些功能。

范围

TypeScript 有三个作用域。

  1. 全局作用域
  2. 类作用域
  3. 本地作用域

ES6 有两个作用域。

  1. 全局作用域
  2. 本地作用域

决策

TypeScript
1. if 语句
2. if-else 语句
3. else…if 和嵌套的 if 语句
4. switch 语句

ES6
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 还是 ES6

开发人员选择 TypeScript:

  • 类型安全
  • JavaScript 的超集
  • 强大的类型系统,包括泛型和 JS 特性。
  • 对齐 ES 开发以实现兼容性。
  • 结构化子类型,而不是名义上的子类型。
  • 编译时错误。
  • 以 JavaScript 开始和结束。

开发人员选择 ES6:

  • ES6 代码比传统 JS 代码更简短。
  • 模块系统标准化。
  • 极致紧凑。
  • 解构赋值。

使用 TypeScript 和 ES6 的公司

使用 TypeScript 的公司列表:

  • Slack
  • Asana
  • CircleCI
  • Intuit
  • Swat.io
  • Avocode

使用 ES6 的公司列表:

  • Slack
  • StackShare
  • eBay
  • Asana
  • Intuit
  • Swat.io

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程