실행 컨텍스트(execution context)-내부 살펴보기

오늘도 삽질중·2022년 10월 25일
0

Javascript

목록 보기
3/5

✅ 실행 컨텍스트 내부

  • 실행 컨텍스트에는 3가지 환경정보들이 담긴다.

    • variableEnvironment : 최초의 식별자 정보 수집(값이 변하지 않는다)
    • LexicalEnvironment : 각 식별자의 데이터 추적 (어휘적/사전적 환경), 실행컨텍스트를 구성하는 환경 정보들을 모아 사전처럼 구성한 객체. 실행 컨텍스트의 실행 내용에 따라서 변수 값이 바뀔 때 그 변경 사항을 계속 트랙킹 하는 정보이다.
    • ThisBinding (여기에서는 안다루겠다)
  • 컨텍스트 내부 코드들이 실행하는 동안 변수의 값들에 변화가 생길 수 있는데 이 변화를 반영을 담당하는것이 LexicalEnvironment이다. 반면에 variableEnvironment는 변화를 반영하지 않는 고정된 값들이다.

🎁 LexicalEnvironment

종류

  • environmentRecord : 현재 문맥의 식별자
  • outerEnvironmentReference : 외부 식별자

environmentRecord

  • 실행컨텍스트가 처음 생성되면 현재 선언된 식별자들이 무엇이 있는지를 알아보는 역할을 한다
function hoho () {
	return hoho
}
var haha = 'haha'
var hihi = 'hihi'

environmentRecord 
{
	function hoho(){...}
    haha: undefined,
    hihi: undefined
}

outerEnvironmentReference

  • 외부 환경에 대한 참조(scope chain)

수정중...

profile
의미없는 삽질은 없다1

0개의 댓글