실행 컨텍스트
실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념 - 정재남 , 코어 자바스크립트
1. 실행 컨텍스트란 ?
한국말로 번역하면 문맥
. 쉽게 코드의 실행 환경
을 말한다.
컨텍스트의 4가지 원칙
- 전역 컨텍스트 실행 뒤 함수 실행시 마다 함수 컨텍스트가 생성됨.
- 컨텍스트 생성시 컨텍스트 안에
변수객체
(arguments, variable), scope chain
, this
가 생성됨.
- 컨텍스트 생성뒤 함수가 실행되는데, 사용되는 변수들은
변수 객체
안에서 값을 찾고, 없다면 스코프 체인
을 따라 올라가며 찾음.
- 함수 실행이 마무리되면 해당 컨텍스트는 사라짐.(
클로저
제외) 페이지가 종료되면 전역 컨텍스트
가 사라짐.
실행 컨텍스트의 종류
- 전역 컨텍스트
- 함수 컨텍스트
eval 컨텍스트 ( 더이상 쓰이지 않음 )
전역 컨텍스트
브라우저가 코드를 읽어들여서 실행할 때 발생하며, 페이지가 종료될 때까지 유지됨.
- argument 존재하지 않음.
- variable : 해당 스코프의 변수들
- scope chain : 자기 자신인 전역 변수객체
- this : 따로 설정하지 않았을 경우
window
함수 컨텍스트
함수 호출시 생성. 함수 실행이 마무리되면 해당 컨텍스트 사라짐. (클로저
제외)
- arguments : 해당 함수의 매개변수 (존재할수도 있고 안할수도 있음)
- variable : 함수 스코프 내의 변수들
- scop chain : 자기 자신과 상위의 스코프 및 전역 변수 객체
- this : 따로 설정하지 않았을 경우
window
공감하며 읽었습니다. 좋은 글 감사드립니다.