[TIL] #13 (2022.02.01)

어느 개발자·2022년 2월 1일
0

TIL

목록 보기
13/15
post-thumbnail

[TIL] #12 (2022.01.31) 에서 클로저에 대해 공부하다가 실행 컨텍스트에 대한 학습이 필요하다고 느껴 정리하게 되었다.

실행 컨텍스트

실행 컨텍스트(execution context)는 자바스크립트 동작 원리를 담고 있는 핵심 개념이다.

실행 컨텍스트를 바르게 이해하면 다음과 같은 내용을 이해할 수 있다.

  • 자바스크립트가 스코프를 기반으로 식별자 바인딩을 관리하는 방식
  • 호이스팅이 발생하는 이유
  • 클로저의 동작 방식
  • 이벤트 핸들러와 비동기 처리의 동작 방식

소스 코드의 타입

ECMAScript 사양은 소스코드(ECMAScript code)를 4가지 타입으로 구분하며, 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다.

  1. 전역 코드 (global code)
  2. 함수 코드 (function code)
  3. eval 코드 (eval code)
  4. 모듈 코드 (module code)

전역 코드

전역에 존재하는 소스코드를 말한다. 전역에 정의된 함수, 클래스 등의 내부 코드는 포함되지 않는다.

함수 코드

함수 내부에 존재하는 소스코드를 말한다. 함수 내부에 중첩된 함수, 클래스 등의 내부 코드는 포함되지 않는다.

eval 코드

빌트인 전역 함수인 eval 함수에 인수로 전달되어 실행되는 소스코드를 말한다.

모듈 코드

모듈 내부에 존재하는 소스코드를 말한다. 모듈 내부의 함수, 클래스 등의 내부 코드는 포함되지 않는다.

0개의 댓글