Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
zelkovaria opened this issue Oct 17, 2024 · 0 comments
Open

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

zelkovaria opened this issue Oct 17, 2024 · 0 comments

Comments

@zelkovaria
Copy link
Collaborator

🔍 질문 내용

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

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

✨ 기타 내용

  • 실행컨텍스트, 렉시컬 환경, 클로저에 대한 흐름 및 구조도
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants