[javascript] 실행 컨텍스트와 스코프 체인의 메모리 관리 방식은 어떻게 달라지는가?

자바스크립트에서, 실행 컨텍스트스코프 체인은 메모리 관리를 각각 어떻게 다르게 하는지 알아보겠습니다.

실행 컨텍스트의 메모리 관리

실행 컨텍스트는 함수가 호출될 때 생성되며, 해당 함수의 변수 및 매개변수, this 값을 저장합니다. 실행 컨텍스트 내에서 실행 순서 및 변수 값 등을 관리합니다. 각 함수 실행에 대한 별도의 실행 컨텍스트가 생성되어 값이 저장되므로, 메모리 소비가 크게 증가할 수 있습니다.

스코프 체인의 메모리 관리

스코프 체인은 함수의 중첩과 관련이 있으며, 각 함수가 정의될 때 컴파일러에 의해 생성됩니다. 따라서 스코프 체인은 정적으로 결정되어 있으며, 실행 중에 수정되지 않습니다. 이는 메모리 관리 측면에서 실행 컨텍스트와 달리 상대적으로 메모리 소비가 적은 특징을 갖습니다.

따라서, 실행 컨텍스트는 함수 실행 시마다 새로운 메모리 공간을 차지하고 확장하는 반면, 스코프 체인은 정적인 메모리를 사용하므로 더 효율적으로 메모리를 관리합니다.

이와 같이 실행 컨텍스트와 스코프 체인은 함수 실행과 메모리 관리 측면에서 각각 다른 특징을 가지고 있습니다.

참고 자료

  1. “자바스크립트 실행 컨텍스트와 클로저” - https://poiemaweb.com/js-execution-context
  2. “스코프 체인, 클로저” - https://learnjs.vlpt.us/basics/13-scope-chain-closure.html

[자바스크립트] [실행컨텍스트] [스코프체인]