通过写Babel插件理解抽象语法树(翻译)
原文:https://www.sitepoint.com/understanding-asts-building-babel-plugin/
每天很多JavaScript开发者使用了浏览器提供商还没有实现的语言版本。很多语言特性都只是草案,将来并不能保证会被写进标准。因为了有了Bable项目,才成为了可能。
众所周知,Babel可以把ES6代码转换为ES5代码,并且可以安全运行;同时,Bable允许开发者编写插件在编译时更改JavaScript程序的结构。
今天,我们将看下如何写Bable插件为JavaScript添加默认的不可变数据。这个教程的代码可以从 GitHub仓库下载。
语言概述
我们希望设计允许我们把普通的对象和数组字面量通过使用Mori转换为不可变的数据结构的插件。
我希望这样写代码:
varfoo= { a: 1 }; varb