실행 컨텍스트2 [Javascript] 스코프 체인 Scopechain 정의 변수와 함수의 유효 범위를 나타내는 스코프가 [[scope]] 프로퍼티로 각 함수 객체 내에서 연결 리스트 형식으로 관리되는데 이를 스코프 체인이라고 한다. ES6 이전에는 함수만이 유효 범위의 유일한 범위였지만 ES6 이후 블록 스코프(let, const)가 추가되었다. 구성 각 실행 컨텍스트의 변수 객체가 구성 요소인 리스트. 3 - ... 2 - 변수 객체 2 1 - 변수 객체 1 0 - 변수 객체 0 각각의 함수는 [[scope]] 프로퍼티로 자신이 생성된 실행 컨텍스트의 스코프 체인을 참조한다. 함수가 실행되는 순간 실행 컨텍스트가 만들어지고, 이 실행 컨텍스트는 실행된 함수(상위 컨텍스트)의 [[scope]] 프로퍼티를 기반으로 새로운 스코프 체인을 만든다. 참고 > 실행 컨텍스트 Exe.. 2021. 1. 4. [Javascript] 실행 컨텍스트 Execution context 정의 자바스크립트가 실행될 때 생성되는 하나의 실행 단위 실행 가능한 자바스크립트 코드 블록이 실행되는 환경 실행 가능한 코드 블록은 대부분의 경우 함수가 된다. 목적 개발을 할 때 코드의 복잡성을 관리하기 위해 functions, modules, packages등으로 나눠서 사용하는 것처럼 실행 컨텐스트도 자바스크립트 엔진이 코드의 해석과 실행의 복잡성을 관리할 수 있게 해주는 것이다. 생성 아래 3가지의 경우 실행 컨텍스트가 생성된다. 전역 코드 eval() 함수로 실행되는 코드 함수 안의 코드를 실행하는 경우 생성된 실행 컨텍스트는 실행 컨텍스트 스택에 쌓이게 되고 제일 위에 위치하는 실행 컨텍스트가 현재 실행되고 있는 컨텍스트다. 현재 실행되는 컨텍스트에서 이 컨텍스트와 관련 없는 실행 코드가 실.. 2021. 1. 3. 이전 1 다음