📜  TypeScript和ES6之间的区别

📅  最后修改于: 2021-01-11 12:59:40             🧑  作者: Mango

TypeScript和ES6之间的区别

打字稿

TypeScript是一种开源的纯面向对象编程语言。它是JavaScript的强类型超集,可编译为纯JavaScript。 TypeScript由Microsoft根据Apache 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 international标准化的脚本语言规范。创建它是为了标准化JavaScript。 ES脚本语言包含许多实现,最受欢迎的是JavaScript 。开发人员主要将ECMAScript用于World Wide Web(WWW)的客户端脚本。

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

历史

Brendan Eich于1995年5月推出了JavaScript。它最初称为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的第一个标准版本是1997年6月发布的ECMAScript 1。一年后,ECMAScript 2发行了,它仅包含很小的更改,以保持JavaScript的并行ISO标准。 1999年12月,发布ECMAScript 3,其中介绍了JavaScript的许多流行功能。 2009年12月,发布ECMAScript或ES6,随后将其重命名为ECMAScript 2015。

TypeScript与ES6

TypeScript ES6
Definition TypeScript is a free and open-source pure object-oriented programming language. It is developed and maintained by Microsoft. ES6 is a version of ECMAScript (ES), which is a scripting language specification standardized by ECMA international.
Explanation Typescript is to eradicate the development errors. ES6 is comparatively more flexible in development time.
Data-Types TypeScript supports all primitive data types. ES6 does not support all data types.
Features TypeScript contains features such as generics and type annotations, Inference, Enums, and Interfaces. ES6 does not support these features.
Scope Typescript has three scopes.
  1. Global Scope
  2. Class Scope
  3. Local Scope
ES6 has two scopes.
  1. Global Scope
  2. Local Scope
Decision-Making
  1. if Statement
  2. if-else Statement
  3. else…if and nested if statements
  4. switch Statement
  1. if Statement
  2. if-else Statement
  3. The else- if ladder/nested if statements.
  4. switch?case Statement
Modules TypeScript Modules are of two types:
  1. Internal
  2. External modules
We can classify the ES6 modules in two ways:
  1. Importing a module
  2. Exporting a module
Loop Typescript and ES6 both are having same loops.
  1. Definite
  2. Indefinite
Typescript and ES6 both are having same loops.
  1. Definite
  2. Indefinite
Why choose The developers choose TypeScript:
  • Typesafe
  • JavaScript superset
  • Powerful type system, including generics & JS features.
  • Aligned with ES development for compatibility.
  • Structural, rather than nominal, subtyping.
  • Compile-time errors.
  • Starts and ends with JavaScript.
The developers choose ES6:
  • ES6 code is shorter than traditional JS
  • Module System Standardized
  • Extremely compact
  • Destructuring Assignment
Company using The list of companies which uses TypeScript are:
  • Slack
  • Asana
  • CircleCI
  • Intuit
  • Swat.io
  • Avocode
The list of companies which uses ES6 are:
  • Slack
  • StackShare
  • eBay
  • Asana
  • Intuit
  • Swat.io