Skip to content

용어

바인딩(Binding)

스코프 안에서 값이 할당·묶이는 대상입니다.

바인딩 타입

바인딩의 종류: import된 값, 대입된 값(let/const/var), export된 값, 함수·클래스 선언, 함수·메서드 인자 등.

스코프(Scope)

바인딩이 존재할 수 있는 블록입니다. 클래스, 함수, 메서드, 콜백, if/else 등 {}로 둘러싸인 코드가 해당합니다. 스코프는 계층이 있으며 부모·자식 관계가 있고, 자식이 부모와 같은 이름을 가리키면 그림자 효과(shadowing)가 납니다.

스코프 플래그

현재 스코프에 대한 메타데이터입니다(계층 상속과는 무관): 함수 여부, 생성자 여부, 최상위(프로그램) 여부 등.

심볼(Symbol)

바인딩을 감싼 것으로, 바운드 변수가 현재 소스 텍스트 안에서 어디에서 쓰였는지에 대한 참조를 담습니다. 심볼은 스캔 순서대로 ID가 부여되고, 각 참조는 그 ID로 심볼을 가리킵니다.

심볼 플래그

심볼/바인딩에 대한 메타데이터입니다.

참조(Reference)

심볼 참조는 심볼(바인딩)이 사용된 위치입니다. 스캔 순서대로 ID가 매겨지며 읽기·쓰기 또는 둘 다로 표시됩니다.

스팬(Span)

소스 텍스트에서 노드의 시작/끝 바이트 오프셋입니다.