- 실행 컨텍스트란 무엇인가요?
: 컨텍스트란 한국말로 번역하면 '문맥'이다.
쉽게 말해서 코드의 실행 환경이라고 이해하면 된다.
여기 예제 코드가 있다.
const name = 'zero';
function wow(word) {
console.log(word + ' ' + name);
}
function say(){
const name = 'nero';
console.log(name);
wow('hello');
}
say();
위 결과는 nero, hello zero가 출력된다.
이것을 이해하려면 lexical scope를 알아야한다. zereight.tistory.com/863
일단, 코드를 실행하는 순간 모든 것을 포함하는 전역 컨텍스트가 생긴다.
전역 컨텍스트는 모든 것을 관리하는 환경이고, 페이지가 종료될 때까지 유지된다.
전역 컨텍스트 말고도 함수 컨텍스트가 있는데, 함수를 호출할 때마다 함수 컨텍스트가 하나씩 더 생긴다
- 컨텍스트의 특징
1. 코드가 실행되면, 전역 컨텍스트가 하나 생성되고, 함수 호출시마다 컨텍스트가 생긴다.
2. 컨텍스트 생성 시, 컨텍스트 안에 변수객체, 스코프체인, this가 생성된다.
3. 컨텍스트 생성 후, 함수가 실행되는데, 사용되는 변수들은 변수 객체 안에서 값을 찾고, 없다면 스코프체인을 따라 올라가며 찾는다.
4. 함수 실행이 마무리되면, 해당 컨텍스트는 사라지고 (클로저 예외), 페이지가 종료되면 전역 컨텍스트가 사라진다.
'개발 > FrontEnd Interview' 카테고리의 다른 글
undefined, null, NaN (0) | 2021.04.03 |
---|---|
Window객체와 BOM (0) | 2021.04.03 |
전역 변수를 지양해야하는 이유 (0) | 2021.03.29 |
lexical scope 란? (0) | 2021.03.29 |
하루브타 스터디 #1 (doctype, 이벤트 위임, 캡처링, 버블링, 커스텀 이벤트) (0) | 2021.03.28 |