자바스크립트 엔진
- 자바스크립트 엔진은 자바스크립트 코드를 읽어 실행하는 프로그램
- 자바스크립트 코드는 자바스크립트 엔진을 통해 파싱 되고 실행
- 크롬 브라우저 경우 V8 엔진 사용
- node.js는 브라우저 외의 환경에서 자바스크립트 코드를 실행하도록 하는 프로그램
- node.js는 여러 프로그램으로 구성, 자바스크립트 코드를 읽는 프로그램으로 V8 사용
- 브라우저와 node.js 환경은 같은 자바스크립트 코드를 작성해도 다르게 동작 가능
자바스크립트 코드 실행
- 자바스크립트 엔진은 코드 실행 전 실행 컨텍스트 생성
* 실행 컨텍스트는 두 단계를 통해 생성
- 생성 단계 - 자바 스크립트 엔진 : 변수 선언 읽기
- 실행 단계 - 자바 스크립트 엔진 : 변수 값 할당
렉시컬 환경 Lexical Environment
- 함수가 사용하는 변수들을 둘러싼 환경
- 특정 변수의 값은 함수의 렉시컬 환경 안에서 찾을 수 있음
- 실행 컨텍스트 안에 정의된 Variable Object
생성 단계에서 코드 실행
- JS엔진은 함수 선언문, 함수 표현식, 변수 등을 읽어 실행 컨텍스트에 저장
- 변수의 경우 실행 컨텍스트의 렉시컬 환경을 구성
- 함수 선언문 외에 변수 값 저장 X
실행단계에서 코드 실행
- 자바스크립트 엔진은 변수 값을 할당하는 구문을 만나면 실행 컨텍스트에 값을 저장
- 코드를 한 줄씩 읽어 나가며 실행
'Web > Java Script' 카테고리의 다른 글
[JS] 자바스크립트 내장 객체 (0) | 2022.04.22 |
---|---|
[JS] 자바스크립트 Hoisting (0) | 2022.04.22 |
[JS] 이벤트와 이벤트 핸들러 (0) | 2022.04.14 |
[JS] Node 객체 (0) | 2022.04.14 |
[JS] 문서 객체 모델 DOM 개념과 자바스크립트 (0) | 2022.04.14 |
댓글