인프런 커뮤니티 질문&답변
[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.
작성
·
299
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 한다.
잘 이해하고 있는지 궁금합니다!
잘못 이해하고 있는 부분이 있다면 지적해주시면 많은 도움이 될 것 같습니다.
퀴즈
실행 콘텍스트의 주된 역할은 무엇일까요?
함수와 변수를 물리적 디스크에 저장하는 것
코드 실행에 필요한 환경과 상태 정보를 관리하는 것
브라우저 화면에 요소를 렌더링하는 것
네트워크 통신을 통해 데이터를 주고받는 것
답변





