[정리 시간] 작성해보았습니다.
205
작성한 질문수 16
선생님 안녕하세요.
벌써 이번 강의의 마지막 정리시간이네요...항상 감사드립니다.
작성한 내용 다른분들과 공유하고자 글을 올립니당.
1. book function 오브젝트를 생성
2. book 함수가 속한 글로벌 오브젝트를 function 오브젝트의 [[Scope]]에 설정
3. var obj = book(200); 에서 book(200)을 호출
--실행 준비 단계--
4. 실행 콘텍스트를 생성
5. 3개의 컴포넌트 생성 (렉시컬/변수 환경 컴포넌트, this 바인딩 컴포넌트)
6. book function 오브젝트의 [[Scope]]를 외부 렉시컬 환경 참조에 바인딩
--초기화 및 실행 단계--
7. 파라미터 이름인 bookParam에 200을 매핑하여 선언적 환경 레코드에 설정
8.function getPoint(pointParam){코드}에서 function 오브젝트를 생성
9. getPoint function 오브젝트의 [[Scope]]에 book 함수의 내부 영역이 설정됨
10. getPoint를 선언적 환경 레코드에 설정
11. var point;에서 변수 이름을 선언적 환경 레코드에 설정
12. var point = 100;에서 선언적 환경 레코드의 point에 100 할당
13. return getPoint;에서 getPoint function 오브젝트 반환
14. obj에 getPoint function 오브젝트를 할당
15. console.log(obj(400))에서 obj를 호출하면 getPoint(400) 함수가 호출됨
--getPoint 함수의 클로저와 관련된 부분--
1. 실행 콘텍스트를 생성
2. getPoint function 오브젝트의 [[Scope]]를 외부 렉시컬 환경 참조에 바인딩
3. pointParam이라는 파라미터 이름에 400을 매핑하여 선언적 환경 레코드에 설정
4. 함수 안의 코드 실행
5. point = point + bookParam + pointParam;에서
6. point와 bookParam을 외부 렉시컬 환경 참조에서, pointParam을 선언적 환경 레코드에서 식별자 해결
7. 각각을 더한 값을 ponit에 할당
8. 따라서 콘솔창에 700이 출력됨
감사합니다!
답변 1
getBook 실습 예제중 질문드립니다!
0
433
1
__proto__ 에 대해 질문드립니다
0
325
1
호이스팅 코딩시간 풀이
0
372
1
[코딩 시간] JS {name: value} 이해
0
347
1
[[Scope]] 와 [[Environment]]는 같은 개념인가요
0
349
0
slice
0
243
0
스코프가 뭔가요?
0
313
0
어려워요
0
260
0
강사님 변수이름에 get을 붙이는 이유를 알고싶습니다.
0
349
1
[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.
0
308
0
스코프 질문
0
258
1
fn 함수와 book.get 함수 차이 질문드립니다...ㅠㅠㅠ
1
553
1
this binding 논리 질문입니다.
0
287
1
파라미터 값을 매핑할 때
0
256
0
ES6부터는 this 바인딩을 환경 레코드에서 참조한다고 들었습니다.
0
212
0
정리시간 입니다.
0
230
0
정리시간입니다.
6
277
0
정리 시간 입니다.
0
208
0
정리시간입니다.
6
234
0
코딩시간 입니다.
1
230
0
선생님 스코프 질문이 있습니다.
1
245
0
[정리시간] 해보았습니다!
0
183
0
선생님 질문있습니다!!
0
162
0
질문드려도 될까요 선생님..
0
221
0





