现在前端开发中,我们常常会用到babel来编译例如react、vue框架的代码,以支持更多的(更古老的)浏览器,babel编译代码的过程就是编译原理的应用之一。
Babel is a JavaScript compiler!这是Babel官方对于babel的定义。身为前端工程师,因此有必要了解编译原理,幸运的是,“The Super Tiny Compiler”开源项目利用JavaScript写了一个简单的编译器。
麻雀虽小,五脏俱全,通过对该项目的学习,一起加深对编译过程的理解,以提升我们写出更高质量的程序!
一、收益
通过掌握(了解)编译原理,将有如下收益:
- 加深对编程语言的认识,无论何种编程语言,万变不离其宗
- 殊途同归,有利于理解babel等转译器、eslint、prettier、less等工具的工作原理,可开发相关插件
- 可以造更多轮子了