인프런 커뮤니티 질문&답변
[정리 시간]의 작성 내용입니다.
작성
·
175
3
안녕하세요. 좋은 강의 감사드립니다.
[정리 시간]의 내용을 작성해보았는데요, 제대로 이해하고 있는 게 맞을까요..?

1. function 키워드를 만나 book이라는 function 오브젝트를 생성하고, 오브젝트의 [[Scope]]에 글로벌 오브젝트 설정
2. 마지막 줄에서 book() 함수를 호출하면
3. 엔진은 실행 콘텍스트를 생성하고 실행 콘텍스트 안으로 이동
==준비 단계 (실행 콘텍스트에서 실행할 수 있는 환경 구축)==
4. 컴포넌트를 생성하여 실행 콘텍스트에 첨부
-렉시컬 환경 컴포넌트, 변수 환경 컴포넌트, this 바인딩 컴포넌트
5. 환경 레코드를 생성하여 렉시컬 환경 컴포넌트에 첨부
6. 외부 렉시컬 환경 참조를 생성하여 렉시컬 환경 컴포넌트에 첨부하고
-book이라는 function 오브젝트의 [[Scope]]를 설정(참조)
==초기화 단계==
7. 호출한 함수의 파라미터 값이 있다면, 호출된 함수의 파라미터 값에 매핑하여 환경 레코드에 작성하나 파라미터 없음
8. function 키워드를 만나 get이라는 function 오브젝트를 만들고 [[Scope]]로 book 오브젝트를 설정
9. point라는 변수에 undefined를 할당
10. 여기까지는 외부에 실행 상태를 제공하지 않음

==실행 단계==
11. book 함수 안의 코드를 실행
12. point 변수에 123을 할당
13. get() 함수를 호출하면 엔진은 실행 콘텍스트를 생성하고 실행 콘텍스트 안으로 이동
get()함수의 실행 콘텍스트
==준비 단계==
15. 컴포넌트를 생성하여 실행 콘텍스트에 첨부
-렉시컬 환경 컴포넌트, 변수 환경 컴포넌트, this 바인딩 컴포넌트
16. 환경 레코드를 생성하여 렉시컬 환경 컴포넌트에 첨부
17. 외부 렉시컬 환경 참조를 생성하여 렉시컬 환경 컴포넌트에 첨부하고
-get이라는 function 오브젝트의 [[Scope]]를 설정

==초기화 단계==
18. 파라미터가 없고 function 키워드나 변수가 없음
==실행 단계==
19. return point를 만나고, point라는 식별자를 외부 렉시컬 환경 참조에서 찾아 123을 반환
20. get()함수의 reutrn 값이 book()함수의 return 값이므로 콘솔창에 123을 출력
감사합니다!!
퀴즈
실행 콘텍스트의 주된 역할은 무엇일까요?
함수와 변수를 물리적 디스크에 저장하는 것
코드 실행에 필요한 환경과 상태 정보를 관리하는 것
브라우저 화면에 요소를 렌더링하는 것
네트워크 통신을 통해 데이터를 주고받는 것






감사합니다~!!