AST学习-scope常用方法
scope常用方法
作用域 Scope
@Babel
解析出来的语法树节点对象会包含作用域信息,这个信息会作为节点Node
对象的一个属性保存
这个属性本身是一个Scope
对象,其定义位于node_modules/@babel/traverse/lib/scope/index.js
中
示例代码如下:
1 |
|
输出如下
1 |
|
输出查看方法
- 每一个作用域都以
#
标识输出 - 每一个绑定都以
-
标识输出 - 对于单次输出,都是自底向上的;先输出当前作用域,再输出父级作用域,再输出父级的父级作用域……
- 对于单个绑定
Binding
,会输出4种信息- constant 声明后,是否会被修改
- references 被引用次数
- violations 被重新定义的次数
- kind 函数声明类型。param 参数, hoisted 提升,var 变量, local 内部
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!