---
url: /docs/learn/terminology.md
---

# Terminology

## Binding

在作用域内被赋值/绑定的值。

## Binding type

绑定的类型：导入的值、赋值的值（let/const/var）、导出的值、函数/类声明、函数/方法参数等。

## Scope

绑定可以存在的代码块。代码块是任何用 {} 包围的代码，例如类、函数、方法、回调、if/else 等。作用域具有层次结构，父作用域可以有子作用域（不一定总是），子作用域属于父作用域。如果子作用域中的绑定与父作用域中的绑定同名，则子作用域的绑定会遮蔽父作用域的绑定。

## Scope flags

关于当前作用域的元数据（不包括继承的层次结构作用域）：函数、构造函数、顶层（程序）等。

## Symbol

一个绑定包装器，包含对当前源文本中该绑定变量的每个使用/调用位置的引用。符号在被扫描时按照顺序分配一个 ID，并且每个引用通过该 ID 指向对应的符号。

## Symbol flags

关于符号/绑定的元数据。

## Reference

符号引用是对符号（以及因此对绑定）的使用，并且在被扫描时按照顺序分配一个 ID。每个引用会被标记为读取、写入或两者皆是。

## Span

节点在源文本中的起始/结束偏移量。
