Daehyunii's Dev-blog

<모던자바스크립트 23장 실행 컨텍스트> TIL-38 본문

✏️ 2022. TIL/July

<모던자바스크립트 23장 실행 컨텍스트> TIL-38

Daehyunii 2022. 7. 20. 22:04

  오늘은 자바스크립트의 실행 컨텍스트에 대해 배웠다. 오늘 배운 내용은 여태까지 배웠던 내용들의 전체적인 흐름에 대해서 배울 수 있었다. 앞에 배운 내용들이 자동차의 재료들에 대한 개념을 배웠다면, 오늘은 자동차가 만들어지는 과정에 대해서 배우게 된 것 같다. 실행 컨텍스트를 공부하니 여태까지 배웠던 개념들을 배워야 했던 이유에 대해서 알 수 있게 되었다. 사실상 실행 컨텍스트는 스타그래프트의 일종의 scv라고 생각하면 될 것 같다. 코드의 유형을 분류해서 해당 코드 별로 담당하는 일꾼들을 만들어 내고 정보들을 저장해서 활용하는 구조로 자바스크립트는 실행되고 있었다. 내가 생각하는 자바스크립트의 핵심 개념 두가지를 뽑으라고 한다면, '스코프'와 '프로토타입'이라는 개념이라고 생각한다. 그 중 스코프가 생성되는 과정에 대해서 자세히 알 수 있었고, 함수의 상위 스코프는 렉시컬 스코프라는것에 대해서도 알 수 있었고, 렉시컬 환경이 담고 있는 것이 무엇인지 알 수 있었고, var,let,const키워드로 전역에 선언한 변수들이 어디에 위치하는지 등에 대해서도 알 수 있었다. 

 

  생각해보면 자바스크립트 엔진은 굉장히 효율적으로 일을 하고 있는 것 같다. 효율적인 일처리를 위해서 코드들을 유형화하고 유형화한 코드들을 담당하는 실행 컨텍스트를 생성하고, 렉시컬 환경을 통해서 해당 코드들이 가지고 있는 정보들을 수집하고 이를 코드 실행과정에서 활용하고 실행되면서 생성된 정보들을 다시 돌려받는, 이러한 일련의 과정들이 굉장히 산업화 초기 컨베이어 벨트 공장처럼 일처리가 딱딱 맞아 떨어지는 것 같다. 또한 해당 렉시컬 환경의 환경 레코드에 없는 정보들을 외부 렉시컬 환경 참조를 통해서 해당 렉시컬 환경의 외부의(상위스코프) 렉시컬 환경이 가지고 있는 정보들도 활용할 수 있다. 이러한 구조와 역할을 보고 놀라지 않을 수 없었다. 자바스크립트는 계속 발전하고 있으므로, 이러한 내부 로직도 나의 시선에서는 아직 보이진 않지만 앞으로 더 효율적이 방법이 생긴다면 변화 될 것이라고 생각하니 정말 기대가 된다. 

 

2022.07.20 - [언어 공부 및 정리/자바스크립트[모던자바스크립트]] - 23장 실행 컨텍스트

 

23장 실행 컨텍스트

실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다. 이 개념을 명확하게 이해하면 자바스크립트가 스코프 기반으로 식별자와 식별자에 바인딩된 값을 관리하는 방식과 호

pinetree93.tistory.com