[Deep Dive] 실행 컨텍스트
모던 자바스크립트 Deep Dive 2022. 10. 14. 17:56

실행 컨텍스트 소스코드의 타입 ECMAScript는 소스타입을 다음과 같이 구분. 각각의 소스코드는 실행 컨텍스트를 생성한다. 전역 코드 전역에 존재하는 소스코드 전역에 정의된 함수, 클래스 등 내부 코드 포함 X 함수 코드 함수 내부에 존재하는 소스코드 함수 내부에 중첩된 함수, 클래스 등 내부 코드 포함 X eval 코드 빌트인 전역함수인 eval함수에 인수로 전달되어 실행되는 소스 코드 모듈 코드 모듈 내부에 존재하는 소스코드 모듈 내부의 함수, 클래스 등 내부 코드 포함 X 전역 코드 전역 변수를 관리하기 위해 존재 var키워드로 선언된 전역 변수와 함수 선언문으로 정의된 전역 함수를 전역 객체의 프로퍼티와 메서드로 바인딩하기 위해 전역 객체로 연결 함수 코드 지역 스코프를 생성하고 지역 변수, ..

04장 변수, 05장 표현식과 문
모던 자바스크립트 Deep Dive 2022. 5. 16. 22:37

변수 이름은 어디에 등록되는가? 변수 이름을 비롯한 모든 식별자는 실행 컨텍스트에 등록된다. 실행 컨텍스트(execution context)는 자바스크립트 엔진이 소스코드를 평가하고 실행하기 위해 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역이다. 자바스크립트 엔진은 실행 컨텐스트를 통해 식별자와 스코프를 관리한다. 변수 이름과 변수 값은 실행 컨텍스트 내에 키(key) / 값 (value) 형식인 객체로 등록되어 관리된다. 자바스크립트 엔진이 변수를 관리하는 메커니즘은 13장 "스코프"와 23장 "실행 컨텍스트"에서 자세히 살펴볼 것이다. 지금은 단순히 자바스크립트 엔진이 변수를 관리할 수 있도록 변수의 존재를 알린다는 정도로만 알아두자. WeakRef() ES2021에서 나온 새로운..