如何详细解析并实现一个JavaScript语言解释器的编写过程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1575个文字,预计阅读时间需要7分钟。
使用JS进行JS编译看起来是个高级操作,但实际上原理很简单。主要是利用JS对象的字符串表示特性,这个特性使得我们可以通过字符串形式直接表示对象,实现类似黑魔法的效果。这种特性使得在网络上看到的高级操作,实际上只是通过网络传输字符串表示的对象,从而实现简洁高效的传输。
用 js 来 编译 js 看起来是个高大上的东西,实际原理其实很简单,无非就是利用 js 对象属性可以用字符串表示 这个特性来实现的黑魔法罢了。
之所以看起来那么 深奥, 大概是由于网上现有的教程,都是动不动就先来个 babylon / @babel/parser 先让大家看个一大串的 AST, 然后再贴出一大串的代码,
直接递归 AST 处理所有类型的节点. 最后成功的把我这样的新手就被吓跑了。
那么今天我写这篇的目的,就是给大家一个浅显易懂,连刚学 js 的人都能看懂的 js2js 教程。
本文共计1575个文字,预计阅读时间需要7分钟。
使用JS进行JS编译看起来是个高级操作,但实际上原理很简单。主要是利用JS对象的字符串表示特性,这个特性使得我们可以通过字符串形式直接表示对象,实现类似黑魔法的效果。这种特性使得在网络上看到的高级操作,实际上只是通过网络传输字符串表示的对象,从而实现简洁高效的传输。
用 js 来 编译 js 看起来是个高大上的东西,实际原理其实很简单,无非就是利用 js 对象属性可以用字符串表示 这个特性来实现的黑魔法罢了。
之所以看起来那么 深奥, 大概是由于网上现有的教程,都是动不动就先来个 babylon / @babel/parser 先让大家看个一大串的 AST, 然后再贴出一大串的代码,
直接递归 AST 处理所有类型的节点. 最后成功的把我这样的新手就被吓跑了。
那么今天我写这篇的目的,就是给大家一个浅显易懂,连刚学 js 的人都能看懂的 js2js 教程。

