파라미터 값 매핑 정리
294
작성한 질문수 10
var obj = {};
obj.getTotal = function(one, two, two) {
console.log(one + two);
};
obj.getTotal(11, 22, 55);
초기화
1. obj.getTotal(11, 22, 55) 함수가 호출되면
파라미터 값을 실행 콘텍스트에 넘겨줍니다.
2. 파라미터 이름에 값을 매핑
getTotal 오브젝트의 [[FormalParameter]]에서 호출된 함수의 파라미터 이름을 구함
["one", "two"]
생성된 argu 배열의 인덱스에 따라 차례대로 값을 구하며 two를 덮어쓰게 됩니다.
선언적 환경 레코드에 {one: 11, two: 55} 형태로 설정합니다.
3. 내부 함수 선언문을 검색 - 해당사항 없음
4. 내부 변수 검색 obj에 undefined;
5. obj에 {} 할당
6. 초기화할 코드가 없기에 다시 첫 줄로 이동하여 함수 코드를 실행합니다.
실행단계
7. 선언적 환경 레코드는 {one: 11, two: 55} 상태
8. console.log(one + two)로 이동
선언적 환경 레코드에서 one, two 값을 구하고 그 결과 값인 66 출력
최대한 그 구성 맥락을 이해하려 하는데 컴포넌트 분류 개념이 확실한지 계속 돌려보고 있어요.
실행 콘텍스트(EC): {
렉시컬 환경 컴포넌트(LEC) = {
환경레코드(ER) : {
선언적 환경 레코드(DER) : {
argument : {one: 11, two: 55}
},
오브젝트 환경 레코드(OER) : {}
},
외부 렉시컬 환경 참조(OLER) : {
obj : {}
}
},
변수 환경 컴포넌트(VEC) : {},
this 바인딩 컴포넌트(TBC) : {}
}
답변 1
3
아래 문장을 논리적으로 접근해주세요.
생성된 argu 배열의 인덱스에 따라 차례대로 값을 구하며
=> 힌트: 자바스크립트에 "argu 배열"은 없으며 argument 오브젝트는 있습니다.
4. 내부 변수 검색 obj에 undefined;
5. obj에 {} 할당
=> 4번과 5번 힌트: 1. obj.getTotal(11, 22, 55) 함수가 호출되면
=> obj는 getTotal() 함수 안에 있지 않습니다.
0
1. obj.getTotal(11, 22, 55) 함수가 호출되면
파라미터 값을 실행 콘텍스트에 넘겨줍니다.
2. 파라미터 이름에 값을 매핑
getTotal 오브젝트의 [[FormalParameter]]에서 호출된 함수의 파라미터 이름을 구함
["one", "two"]
생성된 argu 오브젝트의 인덱스에 따라 차례대로 값을 구하며 two를 덮어쓰게 됩니다.
선언적 환경 레코드에 {one: 11, two: 55} 형태로 설정합니다.
3. 함수를 호출한 obj를 this 바인딩 컴포넌트에 설정
4. 내부 함수 선언문을 검색 - 해당사항 없음
5. 내부 변수 검색 - 해당사항 없음
이후 동일
이렇게 수정해야할 거 같네요
실행 콘텍스트(EC): {
렉시컬 환경 컴포넌트(LEC) = {
환경레코드(ER) : {
선언적 환경 레코드(DER) : {
argument : {one: 11, two: 55}
},
오브젝트 환경 레코드(OER) : {}
},
외부 렉시컬 환경 참조(OLER) : {
}
},
변수 환경 컴포넌트(VEC) : {},
this 바인딩 컴포넌트(TBC) : {
obj : {}
}
}
getBook 실습 예제중 질문드립니다!
0
419
1
__proto__ 에 대해 질문드립니다
0
315
1
호이스팅 코딩시간 풀이
0
358
1
[코딩 시간] JS {name: value} 이해
0
339
1
[[Scope]] 와 [[Environment]]는 같은 개념인가요
0
345
0
slice
0
239
0
스코프가 뭔가요?
0
307
0
어려워요
0
254
0
강사님 변수이름에 get을 붙이는 이유를 알고싶습니다.
0
339
1
[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.
0
300
0
스코프 질문
0
253
1
fn 함수와 book.get 함수 차이 질문드립니다...ㅠㅠㅠ
1
542
1
this binding 논리 질문입니다.
0
279
1
파라미터 값을 매핑할 때
0
251
0
ES6부터는 this 바인딩을 환경 레코드에서 참조한다고 들었습니다.
0
209
0
정리시간 입니다.
0
228
0
정리시간입니다.
6
269
0
정리 시간 입니다.
0
202
0
정리시간입니다.
6
227
0
코딩시간 입니다.
1
221
0
선생님 스코프 질문이 있습니다.
1
238
0
[정리시간] 해보았습니다!
0
173
0
선생님 질문있습니다!!
0
157
0
질문드려도 될까요 선생님..
0
214
0





