ES六、TYPESCRIPT、ATSCRIPT和BABEL是什么玩意儿

ES6TYPESCRIPT、ATSCRIPT和BABEL是什么玩意儿?

前言

这个题目翻译自原版标题WTF IS ES6/TYPESCRIPT/ATSCRIPT/BABEL?,挺好玩的题目。web

因为官方文档的JS版本对比TS版本少很是多,我也没有能力确保把TS搬到JS并保证他的正确性,因此我暂时选择等待官方的更新。这期间我会找一些Angular2的非官方文档来继续学习。 
原文地址浏览器

正文

对于开发者来讲,最难的事情之一就是如何写现代化JavaScript。如今有ES五、ES6TypeScript、AtScript、Dart、Babel以及以后的ES7,这个名单还在增长。工具

JavaScript是一个庞大的标准驱动的语言。这意味着有一个委员会来决定JavaScript是什么样的,肯定它的最低限的定义,而后浏览器厂商来实现。如今(但不会过久了),ES5是JS被最普遍支持的版本。学习

然而,委员会启动的设计是出了名的慢,因此每个从开发者到浏览器厂商都急于使用和实现新的特性,这比委员会的工做要快。spa

在浏览器看来,JS有点像(assembly of the web(网页组件)),意味着它能够运行更高等级语言编写的代码,而后将它“编译”为浏览器可理解的JS。翻译

CoffeeScript就偏偏是这样的,第一个很是成功的更高级的JS语言。一个开发者能够编写CoffeeScript,而后编译工具能够将它转变为第一层的JS语言。设计

这就是咱们如今看到的ES6和其余(语言)的关系。浏览器尚未natively(直接地)实现许多ES6+的特性,而且开开发者们想对JS进行改革。这意味着他们已经开始开发他们的更高等级的JS语言,例如AtScript,TypeScript,和想Babel这样的工具实现将来JavaScript的特性而且将它编译为ES5。code

Dart是Google几年前建立的实验性语言。咱们不建议使用Dart做为取代JS的新特性(原文的话)。orm

ArScript是Google建立的使用新特性扩展JS和TypeScript的实验性语言,例如annotation和type introspection。它如今已经被抛弃了。对象

TypeScript是Microsoft的JS扩展,提供了强力的类型检查能力和面向对象特性。Angular2 和 Ionic2都使用TypeScript

ES6是JavaScript的下一个版本,它最近才被提出并提过了不少编写JS的方式。ES7是JS的将来版本,有些已经被更高记得JavaScript语言实现了。

总结 
若是你想要开发ES6或ES7,你能够用Babel,是“下一代JavaScript语言代码的编译器”。若是你想用Ionic和Angular,咱们建议你使用TypeScript,它提供了和Babel相似的功能,还有type checking(类型检查)。

相关文章
相关标签/搜索