术语
绑定
在作用域内被赋值/绑定的值。
绑定类型
绑定的类型:导入的值、赋值的值(let/const/var)、导出的值、函数/类声明、函数/方法参数等。
作用域
绑定可以存在的代码块。作用域是指用 {} 包围的任意代码块,例如类、函数、方法、回调函数、if/else 等。作用域具有层次结构,父作用域包含子作用域(并非总是如此),而子作用域归属于父作用域。如果子作用域中的绑定与父作用域中的绑定同名,则子作用域中的绑定会遮蔽父作用域中的绑定。
作用域标志
关于当前作用域的元数据(不继承自父级作用域):函数、构造函数、顶级(程序)等。
符号
一个绑定的包装器,包含对当前源代码中该绑定变量所有使用位置/调用位置的引用。符号按扫描顺序被分配唯一标识符(ID),而引用点通过该 ID 来指向符号。
符号标志
关于符号/绑定的元数据。
引用
符号引用是符号(进而也是绑定)的使用方式,按扫描顺序被分配唯一标识符(ID)。每个引用被标记为读取、写入或两者兼具。
范围
节点在源文本中的起始/结束偏移量。
