[译]转译器: 今日大不同
前言: 最近想学英语,决定尝试翻译英文博客来学习。 以下是偶然发现的一篇文章, 决定就翻译他了。 初次翻译,翻译得不对的地方还望各位指出。 谢谢。
------------------------------------------------------------------------------------------------------------------------------
原文链接: http://dailyjs.com/2015/02/26/babel/ (需要FQ)
原作者: Alex R. Young 发布日期: 2015.2.26
版权归原著所有。
------------------------------------------------------------------------------------------------------------------------------
转译器: 今日大不同
Javascript在改变。 它已经不仅仅是一个藏书量巨大的,能迫使我们不断学习的图书馆了,它已经发展出了一套完善的语言规范。如果你会因为ES6模块化,箭头函数,模板字符串或ES6的类关键字感到兴奋,那么你很可能已经在使用这些技术了。现在我们不再需要为了等待主流浏览器厂商跟上脚步而花上几年时间,因为我们有了转译器。
其中一个我们忠于javascript而不是CoffeScript和TypeScript的理由,是因为我们希望保持技术栈的简单。 增加额外的层可能会给调试带来麻烦,而学习新的语言也需要时间。然而,polyfills和一些使用了6to5(一个工具的名称,现在已更名为Babel)的项目让我们可以在新的规范下工作。这些语言的部分改变可以帮助我们改善javascript的使用方式,我会和人争辩说,ES7的await提案和生成器可以帮助我们更高效的进行异步编程,而类关键字可以帮助我们设计更易于维护的项目。
举个例子,我发现Browserify可以帮助我将客户端的代码构建得更易于重用和查找。而且,在开发过程中,由于我使用了来源地图(Source Map),我的浏览器可以正确显示出所有错误所在文件和代码行数。当我知道6to5要改名为Babel时,让我最感兴趣的东西是ESTree。
最近,有一些来自Mozilla,Esprima,JQuery基金会,Acorn,6to5,ESLint和其他团队的人,将要共同开发ESTree,所有分析器和转译器都将会基于这个标准。
我们不断追求使用最新最好的标准,而要等待传统浏览器赶上标准更新的步伐实在是件非常痛苦的事情,而ESTree的规格说明将会帮助我们远离这一痛苦。 现在我们可以认真对待转译器了:
我们希望6to5可以帮我们完成转译器的工作。如果社区可以团结的围绕一个可以为处理大量共享问题提供扎实基础的工具, 我们都将变得更好。
Babel会一直在最新的标准下作为javascript的转译器提供服务,同时也会开始对其他工具开放它的API。任何在项目中使用过babel的人都知道,在工作中使用babel是非常容易的。
今日大不同了: 我们再也不需要基于浏览器来决定如何编写javascript了。 在我们将新标准使用到重要的项目之前,我们不会知道这些新标准能起到什么作用, 但现在有比过去更多的理由让我们尽早开始使用新的标准。
参考:
- Babel: 不会出生就夭折(原文链接404了。。。)
- ESTree规范说明
- 学习ES6 -- 这方法真棒
- ECMAScript 6的准文字严格审查
- MDN: 箭头函数
- ESMAScript 6 模块化: 最终语法
- es6-class: 类关键字从ES6编译成ES5
- Browserify
------------------------------------------------------------------------------------------------------------------------------
谢谢观看。
2016.07.25