[3주차] JavaScript - 동작원리

minLuna·2023년 3월 18일
0

엘리스 AI트랙 7기

목록 보기
21/62

본 자료는 박규하 코치님과 Elice 플랫폼의 자료를 사용하여 정리하였습니다.

JavaScript의 동작원리

구문분석(Parsing)

  • 문법에 오류가 있는지 확인하고 코드를 실행가능한 형태로 변환

컨텍스트 생성(Context Creation)

  • 코드를 실행하기 위해 실행 컨텍스트를 생성
  • 실행 컨텍스트는 코드 실행에 필요한 정보를 담고있는 객체
    • 변수, 함수, 매개변수, 스코프체인, this 등

변수 및 함수 선언(Variable and Function Declaration)

  • 실행 컨텍스트 생성 시 변수 및 함수를 메모리에 할당
  • 변수를 위한 메모리공간을 확보, 함수를 위한 함수 객체를 생성
  • 변수와 함수는 실행 컨텍스트의 프로퍼티로 저장

실행(Execution)

  • 생성된 실행 컨텍스트를 스택에 쌓은 후, 코드를 실행
  • 함수 호출이 발생하면 새로운 실행 컨텍스트가 스택에 쌓이고 함수 실행이 완료되면 실행 컨텍스트는 스택에서 제거

가비지 컬렉션(Garbage Collection)

  • 더이상 사용되지 않는 메모리를 자동으로 해제하여 메모리누수 방지
  • 주기적으로 실행된다.

Node.js

  • Google Chrome의 JavaScript 엔진인 V8을 사용하여 서버 측 JavaScript를 실행할 수 있게 해주는 도구
  • 이벤트 기반, 비동기식 I/O 모델을 사용하여 높은 성능을 제공
  • JavaScript 런타임 환경을 제공
    • JavaScript로 작성된 어플리케이션을 실행
  • HTTP, HTTPS, TCP, UDP와 같은 프로토콜을 지원
  • 빠른 실행속도와 메모리 관리기능 제공(JIT컴파일러, 가비지컬렉션)
profile
열심히

0개의 댓글