JavaScript/3주차
6. 실행 컨텍스트 및 콜 스택 소개
tnals634
2023. 5. 24. 15:51
자바스크립트에서의 실행 컨텍스트란
- 스코프, 변수, 객체, 호이스팅
- 실행할 코드에 제공할 환경 정보 들을 모아놓은 객체
- 1. 선언된 변수를 위로 끌어올리구요 = 호이스팅(hoisting)
- 2. 외부 환경 정보를 구성하구요.
- 3. this 값을 설정해요
=>이런 현상들 때문에 JS에서는 다른 언어랑은 다른 특징들이 나타난다.
1. 컨텍스트?
- 스택을 이해해야함.
콜 스택 (call stack)
- 실행 컨텍스트란 실행할 코드에 제공할 환경 정보들을 모아 놓은 객체
(△자신이 만든 코드)
- 코드의 순서를 보장.
- LIFO
컨텍스트 구성
- 구성 방법
- 1. 전역 공간
- 2. eval() 함수
- 3. 함수(우리가 흔히 실행컨텍스트를 구성하는 방법)
실행 컨텍스트 구성 예시 코드
//....1번
var a = 1;
function outer() {
function inner() {
console.log(a);
var a = 3;
}
inner(); //...2번
console.log(a);
}
outer(); // ... 3번
console.log(a);
순서
코드 실행 → 전역(in) → 전역(중단) + outer(in) → outer(중단) + inner(in) → inner(out) + outer(재개) → outer(out) → 전역(재개) → 전역(out) → 코드종료