Call vs scope

함수 호출은 콜 스택을 쌓고, 변수 탐색은 스코프 체인을 따라간다

실행 순서와 이름 탐색은 다른 축이다. 호출은 스택에 쌓이고 변수는 현재 환경에서 바깥 환경으로 찾는다.

설명따라가는 방향헷갈리는 지점
Call stack함수 실행 순서 관리호출된 함수가 위에 쌓임호출이 끝나면 제거됨
Scope chain식별자 이름 탐색현재 스코프에서 바깥으로 이동호출 위치가 아니라 선언 위치 기준
Parameter호출 시 전달된 값함수 안 지역 변수처럼 사용원시값과 참조값 차이
Return호출자에게 결과 전달스택을 한 단계 되돌림반환 없는 함수는 undefined
Closure끝난 바깥 함수의 변수를 기억렉시컬 환경 보존공유 상태 변경 주의

함수 디버깅은 실행 순서의 콜 스택과 이름 탐색의 스코프 체인을 분리해서 봐야 한다.