용어
바인딩
스코프 내에서 할당되거나 바인딩된 값.
바인딩 유형
바인딩의 유형: 가져온 값, 할당된 값(기본 키워드 let/const/var), 내보낸 값, 함수/클래스 선언, 함수/메서드 인수 등.
스코프
바인딩이 존재할 수 있는 블록. 블록은 중괄호 {}로 둘러싸인 코드를 의미하며, 클래스, 함수, 메서드, 콜백, if/else 등의 경우를 포함한다. 스코프는 계층 구조를 가지며 부모가 자식을 가질 수 있고, 자식은 부모에 속한다. 이름이 동일한 바인딩이 자식 스코프에 존재할 경우 부모 스코프의 바인딩을 가리키게 된다.
스코프 플래그
현재 스코프에 대한 메타데이터 (상속되는 계층 구조 스코프는 아님): 함수, 생성자, 최상위(프로그램), 등.
심볼
현재 소스 텍스트 내에서 바인딩된 변수의 각 사용/호출 위치에 대한 참조를 포함하는 바인딩 래퍼. 심볼은 스캔 순서에 따라 고유한 ID를 부여받으며, 참조 지점은 해당 ID로 심볼을 참조한다.
심볼 플래그
심볼/바인딩에 대한 메타데이터.
참조
심볼 참조는 심볼(즉, 바인딩)의 사용을 의미하며, 스캔 순서에 따라 고유한 ID를 부여받는다. 각 참조는 읽기, 쓰기 또는 둘 다로 표시된다.
스팬
노드가 소스 텍스트 내에서 시작 및 종료되는 오프셋.
