上一章TypeScript教程请查看:TypeScript和Flow的区别
Babel
Babel是一个免费的开源JavaScript编译器。转置器(源代码到源代码编译器)是一种工具,它读取用一种编程语言编写的源代码,然后用另一种编程语言生成相同的代码。Babel主要用于将ES6 (ECMAScript 2015)或以上版本代码转换为JavaScript的向后兼容版本(ES5),可以在任何浏览器中运行。它是使用JavaScript编程语言最新特性的流行工具。
Babel使用填充来支持JavaScript环境中缺少的特性。例如,像Array.from这样的静态方法和像Promise这样的内建方法只在ES6或以上版本中可用,但是如果我们使用Babel polyfill,我们可以在更老的环境中使用它。
TypeScript
TypeScript是一种开源的纯面向对象的编程语言,它是一个强类型的JavaScript超集,可以编译成纯JavaScript。我们不能直接在浏览器上运行TypeScript程序。它需要一个编译器来编译和生成JavaScript文件,直接在浏览器上运行。我们可以使用“.ts”扩展来保存TypeScript源文件,ypeScript是由微软在Apache 2许可下开发和维护的。
我们可以为服务器端和客户端web应用程序使用Typescript。它还用于大型web应用程序的开发。它增加了对ECMAScript中不同特性的支持,ECMA集团的TC39委员会负责维护ECMAScript。
安德斯·海尔斯伯格开发了TypeScript,Typescript的第一版将于2012年10月1日发布。经过微软两年的内部开发,新版TypeScript 0.9于2013年发布。TypeScript的当前版本是TypeScript 3.4.5,于2019年4月24日发布。
TypeScript VS Babel
从下表我们可以了解TypeScript和Babel之间的主要区别。
编号 | TypeScript | Babel |
1. | TypeScript是一种开源的纯面向对象的编程语言。它是一个强类型的JavaScript超集,可以编译成纯JavaScript。 | Babel是一个免费的开源JavaScript编译器。它主要用于将ES6 (ECMAScript 2015)或以上版本代码转换为可在任何浏览器上运行的向后兼容的JavaScript版本(ES5)。 |
2. | 它是一种编程语言。 | 它是一个工具(转译器)。 |
3. | TypeScript提供数据类型的类型检查。 | Babel不关心类型。 |
4. | TypeScript一次编译整个项目。 | Babel一次只能编译一个文件。 |
5. | Typescript使开发人员能够使用优秀的输入功能。它适用于大型应用程序。 | Babel适合希望使用最新语言特性编写纯JavaScript代码的开发人员。 |
6. | TypeScript是JS的附加组件,支持强类型。 | Babel是一个转置器(工具),它将较新的JS语法特性作为输入,并返回较旧/更可靠的语法作为输出。 |
7. | 它是由微软开发和维护的。 | 它与ECMA技术委员会39 (TC39)密切相关。 |
8. | TypeScript直接编译装饰器。 | Babel不直接编译装饰器。它有一个旧版本的遗留模式来编译装饰器。 |
评论前必须登录!
注册