실행컨텍스트

차노·2023년 7월 27일
0
post-thumbnail

  • 선언된 변수 호이스팅
  • 외부 환경 정보를 구성
  • this 값을 설정

Definition

: 실행할 코드에 제공할 환경 정보들을 모아놓은 객체


. 그 객체에는 VariableEnvironment, LexicalEnvironment, ThisBindings가 각각 존재한다. VE와 LE의 기준선은 스냅샷 유지 여부이다. 렉시컬 환경에서는 실시간 사항들을 반영한다. LE에는 레코드, 아우터 과정이 존재하며 레코드 수집과정을 호이스팅이라 한다.
함수 선언문은 전체를 호이스팅한다. 변수는 선언부만 호이스팅한다. 변수의 할당부는 원래의 자리로 돌아간다.
stackqueue가 있다. 스택은 상자라 생각하면 쉽다. 동일한 물건(데이터)를 차곡차고 쌓는다고 가정해보자. 가장 먼저 들어간 데이터는 최하위에 해당하게 되고 최근에 들어간 데이터는 최상위에 위치하게 된다. pop한다고 했을 때 통로가 하나밖에 없기 때문에 Last in, first out이 된다.
Queue는 통로가 두 개이며 원형이라 생각하면 된다. 그래서 push의 개념으로 접근해야 한다. First in, first out에 해당된다. LE는 record와 outer를 수집한다. record를 수집하는 과정에서 hoisting이 일어난다. 함수 선언문은 전체를 호이스팅하고 변수는 선언부만 호이스팅한다. 그리고 변수의 할당부는 원래 자리로 돌아간다.
스코프는 식별자에 대한 유효범위를 의미한다. 스코프 체인은 스코프를 안에서부터 바깥으로 차례대로 검색해나가는 것을 의미한다.
this는 실행 컨텍스트가 생성될 때 결정된다. In other words, this is determined when function is called.
call method: 호출 주체인 함수를 즉시 실행하는 명령어

0개의 댓글