실행컨텍스트(3)
-
실행 컨텍스트
실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 이는 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 선언된 변수를 위로 끌어올리고(호이스팅), 외부 환경 정보를 구성하고 this 값을 설정하는 등의 동작을 수행하는데, 이로 인해 다른 언어에서는 없는 특이한 현상이 발생한다. 클로저를 지원하는 대부분의 언어에서 이와 유사하거나 동일한 개념이 적용되어 있다. 실행 컨텍스트란? 실행 컨텍스트는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이다. 동일한 환경에 있는 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고 이를 콜 스택에 쌓아올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련 있는 코드..
2023.12.26 -
호출 스택 이벤트 루프(1) [ TIL ] [ Javascript ]
Problem 호출 스택의 간단한 동작원리를 알아보장 Try 말 그대로 스택(LIFO)은 자료구조인데 호출 스택(call stack) 은 함수 호출의 실행 순서를 기록하는 스택 자료구조 이다. 함수가 호출되면 해당 함수의 실행 컨텍스트가 호출 스택의 맨 위에 추가된다고 한다. 그리고 함수 실행이 완료되면 스택에서 제거된다고한다. 호출 스택은 여러 함수들을 호출하는 스크립트에서 해당 위치를 추적하는 인터프리터(웹 브라우저의 자바스크립트 인터프리터같은) 를 위한 메커니즘입니다. 현재 어떤 함수가 동작하고 있는지, 그 함수 내에서 어떤 함수가 동작하는지, 다음에 어떤 함수가 호출되어야 하는지 등을 제어합니다. - MDN Web Docs - 실행 코드 function a() { console.log("함수 a..
2023.06.19 -
실행컨텍스트
실행할 코드에 제공할 환경 정보들을 모아놓은 객체 순서 1. 호이스팅이 발생 ( 선언된 변수를 위로 끌어올린다, 함수는 함수 전체가 호이스팅된다 ) 2. 외부 환경정보를 구성한다. 3. this 값을 설정한다 - 실행 컨텍스트의 전역공간은 자동으로 컨텍스트로 구성이된다. 구성할때 생기는 것 - VariableEnvironment : 현재 컨텍스트 내의 식별자(변수)들에 대한 정보, 외부 환경 정보, 선언 시점의 LexicalEnvironment 의 스냅샷(변경사항을 반영하지않는다.) - LexicalEnvironment : 처음은 위와 같음, 변경사항이 실시간으로 반영된다. environmentRecord와 outerEnvironmentReference로 구성 되어 있고 environmentRecord ..
2023.04.08