이제는 개념을 공부할 때**.**

면접 질문들을 검색하다보면 자바스크립트의 개념들과 관련하여 이런 질문들이 많이 보인다.

3개월 동안 구현만 주구장창하다보니 정작 중요한 이런 개념들을 제대로 짚고 갈 시간이 없었다. 어제는 디버거를 공부하면서 호출 스택과 스코프에 대해 배웠다면, 오늘은 자바스크립트의 동작 원리라고 말하는 **실행 컨텍스트(Execute Context)**를 배워보고자 한다.

목차

❓ 코드를 통해 변수는 어떻게 바뀌는 걸까? 왜 바뀌는 걸까?

🙀 그러면, 지역 범위인 함수 안에서 선언한 변수는 어떻게 될까?

❗ A 함수에서 B 함수를 호출했을 때, B 함수는 A 함수의 변수를 받아올까?

📝 개념 정리: 실행 컨텍스트, 그리고 스코프 체인

📚 이후의 학습 사항

❓ 코드를 통해 변수는 어떻게 바뀌는 걸까? 왜 바뀌는 걸까?

이 내용을 이해하려면, 지난 시간에 공부했던 ‘범위(Scope)’를 되짚어볼 필요가 있다.

저번에 디버거를 통해 전역 범위(Global Scope)와 지역 범위(Local Scope)를 공부한 일이 있었다.

전역 스코프 (Global Scope)

지역 스코프 (Local Scope)

자바스크립트는 어떤 변수를 읽으려고 할 때 이 범위(Scope)에서 변수를 찾으려고 한다. 아래의 코드를 보자.