인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

wodms4525님의 프로필 이미지
wodms4525

작성한 질문수

자바스크립트 중고급: 엔진 핵심

8. 파라미터 값 할당 기준, [정리 시간]

[정리] 예제 정리해 보았습니다.

작성

·

115

0

 

1. 함수 선언문이 없음으로 넘어감

2. 변수 할당 obj = undefined

3. 코드 실행 obj = {}

obj.getTotal = function(){}, 이때 getTotal function object 생성, [[Scope]] 설정

function object[[FormalParameters]][ ‘one’, ‘two’, ‘two’ ] 생성

obj.getTotal(11, 22, 55)를 통해 getTotal 함수 호출

 

4. getTotal 함수에 실행 콘텍스트 이동 + 파라미터의 값이 실행 콘텍스트로 넘어감

5. 파라미터 값이 선언적 환경 레코드에 매핑됨

{ one : 11 } { one : 11, two : 22 } { one : 11, two : 55 }

two가 이미 존재하기 때문에 세 번째 값이 기존의 two에 할당되 two55가 됨

6. getTotal 안에 함수 선언문, 변수 할당이 없으로 넘어감

7. getTotal에서 코드 실행, log(one + two);

선언적 환경 레코드에서 onetwo의 값을 찾음 66이 출력

 

----------------------------------

문제를 풀다가 모르는 부분이 나와서 질문드립니다.

[[FormalParameters]]에 [ ‘one’, ‘two’, ‘two’ ] 가 생성되는 건가요?

아님 이름이 겹치기 때문에 [ ‘one’, ‘two’ ]가 생성되는 건가요?

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
wodms4525님의 프로필 이미지
wodms4525

작성한 질문수

질문하기