Skip to content

ch22~25 스터디 내용 질문 정리 🧹 #32

@zelkovaria

Description

@zelkovaria

🔍 질문 내용

  • 렉시컬 스코프는 함수가 정의된 위치에 따라 스코프가 결정되는 것을 의미한다고 이해했는데요, 렉시컬 환경은 이렇게 스코프에서 저장된 변수나 함수 선언을 저장하고 식별자와 값을 저장하고 관리하는 객체 형태라고 이해하면 될까요?
  • 아래와 같은 코드에서 일시적 사각지대에 빠져서 참조할 수 없다고 하는데요, 한 스코프에서 호이스팅된 let 변수를 선언하기 이전에 사용하려해서 뜨는 오류로 이해했습니다. 그럼 결국 TDZ는 스코프와 비슷한 개념이라고 접근해도 될까요?
let foo = 1;

{
  console.log(foo); // ReferenceError
  let foo = 2;
}
  • 실행 컨텍스트가 생성 → 변수 선언, 함수 선언이 렉시컬 환경에 등록됨 → let, const 변수는 선언만 되고 초기화가 안됨 →TDZ에 일시적으로 놓이게 됨
    즉, 실행 컨텍스트는 코드 실행시 변수, 함수, 객체가 어떻게 생기고 관리되는지에 대해 초점을 맞춘다면 TDZ는 그 과정에서 선언, 초기화가 이루어지는(let, const 대상의 변수들만) 환경이라고 이해해도 될까요?

✨ 기타 내용

  • 실행컨텍스트, 렉시컬 환경, 클로저에 대한 흐름 및 구조도

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions