2oneweek.dev

17. Function Call Execution Context

    Tags

  • JavaScript
17. Function Call Execution Context thumbnail

함수 호출에서, 엔진이 실행 컨텍스트에 넘겨주는 것

함수가 호출되면 3개의 파라미터 값을 실행 컨텍스트로 넘겨준다.

  1. 함수를 호출한 오브젝트
    • this 바인딩 컴포넌트에 설정되어 this로 참조할 수 있게 된다.
  2. 함수 코드
    • 엔진이 function object를 만들 때, function object의 내부 프로퍼티 [[Code]]에 설정되어 있던 것을 넘겨준다.
  3. 호출한 함수의 파라미터 "값"
    • 호출된 함수의 Argument Object에 Array-like설정하고, 실행컨텍스트의 선언적환경레코드에 인자들을 설정해둔다.

파라미터 "값" 매핑

호출"한" 함수에서 넘겨준 값을, 호출"된"함수의 파라미터(변수명) 작성 순서에 맞춰 맵핑하는 것을 말한다.

  • 엔진 처리 관점에서, function object를 만들때, 인자들의 이름을 내부 프로퍼티[[FormalParameters]]에 저장해 두는데, 이 이름과 넘겨받은 값들을 매핑하고 그 결과를 선언적 환경 레코드에 설정한다.


Written by@2-one-week
현재 블로그 개발 중

GitHubLinkedIn