[정리 시간]의 내용 작성해보았습니다.
184
작성한 질문수 16
안녕하세요. 좋은 강의 감사드립니다!
[정리 시간]의 내용을 작성해보았습니다.

==초기화 단계==
1. obj.getTotal(11, 22, 55)함수가 호출되면 실행 콘텍스트가 생성되고 실행 콘텍스트 안으로 이동
-함수를 호출한 오브젝트, 함수 코드, 호출한 파라미터 값을 실행 콘텍스트로 넘겨줌
2. getTotal 오브젝트의 [[FormalParamters]]에서
-호출된 함수의 이름을 구함
-["one", "two", "two"]의 형태
3. 상기의 배열을 하나씩 읽음
4. 호출한 파라미터의 값에서 index 번째의 값을 구함
5. 배열 안에 있는 파라미터의 이름과 4번에서 구한 값을 파라미터 작성 순서에 맞추어 값을 매핑
6. 선언적 환경 레코드에
-{one:11}을 먼저 매핑하고 두번째로 {two:22}를 매핑함
-세번째로 two를 매핑해야 하는데 이미 two라는 이름이 존재하고, 이를 매핑하는 과정에서 값이 55로 변경됨
-즉, {one:11, two:55} 형태로 설정함
7. 함수에 초기화할 코드가 없으므로
-첫번째 줄로 이동하여 함수 코드를 실행
==실행 단계==
8. console.log(one + two);
-선언적 환경 레코드에서 one과 two의 값을 구함
-11+55이 결과인 66이 출력

obj.getTotal() 함수의 외부 렉시컬 환경 참조는 어떻게 되어 있을까요?
이 경우에는 글로벌 오브젝트일까요..? getTotal이 프로퍼티로서 속해있는 obj 오브젝트가 외부 렉시컬 환경 참조일까요..?
obj.getTotal() 함수가 obj라는 글로벌 변수 내부의 프로퍼티로서 있다보니 헷갈리네요ㅜㅜ
답변 1
2
깨끗합니다.
obj.getTotal() 함수의 외부 렉시컬 환경 참조는 어떻게 되어 있을까요? 이 경우에는 글로벌 오브젝트일까요..? getTotal이 프로퍼티로서 속해있는 obj 오브젝트가 외부 렉시컬 환경 참조일까요..?
==> 외부 렉시컬 참조가 클로저입니다. 결과를 작성하면 흥미가 반감될 것 같아요. 뒤에서 나옵니다.
obj.getTotal() 함수가 obj라는 글로벌 변수 내부의 프로퍼티로서 있다보니 헷갈리네요ㅜㅜ
==> getTotal() 함수에서 this가 obj를 참조합니다. 글로벌 변수라는 표현보다 obj는 빌트인 Object입니다. 이것과 같이 앞의 질문을 같이 생각하면 정리가 될 것 같습니다.
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





