• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.

22.04.22 00:00 작성 조회수 182

0

1. book function 오브젝트를 생성한다.
2. book function 오브젝트의 [[scope]]에 global 오브젝트를 할당한다.
3. book 함수 호출


4. 엔진은 실행 컨텍스트를 생성하고 안으로 이동한다.
5. 렉시컬 환경, 변수 환경, this 바인딩 컴포넌트를 실행 컨텍스트에 할당한다.
6. 환경 레코드를 생성하고 렉시컬 환경 컴포넌트에 할당한다.
7. 외부 렉시컬 환경 참조를 생성하고 렉시컬 환경 컴포넌트에 할당한다.
8. book function 오브젝트의 [[scope]](global 오브젝트)를 외부 렉시컬 환경 참조에 설정한다.(복사X, 참조O)


9. get function 오브젝트를 생성한다.
10. get function 오브젝트의 [[scope]]에 book function 오브젝트의 [[scope]]를 할당한다.
11. 환경 레코드에 point: undefined를 할당한다.
12. get 함수 호출


13. 엔진은 실행 컨텍스트를 생성하고 안으로 이동한다.
14. 렉시컬 환경, 변수 환경, this 바인딩 컴포넌트를 실행 컨텍스트에 할당한다.
15. 환경 레코드를 생성하고 렉시컬 환경 컴포넌트에 할당한다.
16. 외부 렉시컬 환경 참조를 생성하고 렉시컬 환경 컴포넌트에 할당한다.
17. get function 오브젝트의 [[scope]]를 외부 렉시컬 환경 참조에 설정한다.(복사X, 참조O)
18. 함수 선언문, 함수 표현식, 변수가 없으므로 바로 코드 실행
19. point를 외부 렉시컬 환경 참조에서 식별자를 해결하여 return 한다.

 

잘 이해하고 있는지 궁금합니다!
잘못 이해하고 있는 부분이 있다면 지적해주시면 많은 도움이 될 것 같습니다.

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!