자바스크립트에서의 실행 컨텍스트란
- 스코프, 변수, 객체, 호이스팅
- 실행할 코드에 제공할 환경 정보 들을 모아놓은 객체
- 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) → 코드종료
'JavaScript > 3주차' 카테고리의 다른 글
8. record와 호이스팅 2 (함수의 호이스팅) (0) | 2023.05.24 |
---|---|
7. record와 호이스팅 1 (0) | 2023.05.24 |
5. null과 undefined (0) | 2023.05.24 |
4. 불변 객체(얕은 복사 , 깊은 복사) (0) | 2023.05.24 |
3. 변수 선언과 데이터 할당(참조형 데이터) 변수 복사의 비교 (0) | 2023.05.24 |