자바 스크립트는 2가지가 없다.
자바 스크립트는 다른 언어들과는 다르다.
자바스크립트의 실제 메모리 영역
- 코드 영역 자바스크립트 코드 자체가 저장
- 힙 영역 객체 등 참조 타입 데이터 저장
- 콜스택 함수 호출 추적용
자바 스크립트가 없는 영역
- 전통적인 스택 메모리 영역
- 별도의 데이터 영역
대신 하는것
- 스택 메모리 변수 환경이 관리
- 데이터 영역 도 변수 환경이 관리
메모리 관리 특징
- 자바스크립트 엔진이 자동으로 메모리 관리
- 가비지 컬렉터가 힙 영역의 메모리 해제 담당
- 개발자가 직접 메모리를 관리할 필요없음
결론
자바스크립트는 전통적인 프로그래밍 언어들과 달리
좀더 추상화된 메모리 관리 구조를 가지고 있으며
대부분의 복잡한 메모리 관리를 자바스크립트 엔진이자동으로 처리한다.
해당 내용을 쉽게 설명하면
작업 공간이 3개가 있고 이것은 메모리 영역이다.
레시피 책 은 코드 영역이며 우리가 작성한 JS코드가 저장되는곳이다.
재료 창고는 힙영역 이며 객체 배열 같은 덩치 큰 데이터 저장소이다.
주문 표는 콜 스택이며 함수가 호출마다 차곡차곡 쌓였다가 완료되면 하나씩 제거된다.
다른 가게와 다른점은 전통적인 언어
일반 가게는 개발자가 직접 메모리 할당과 해제를 하고
우리 가게는 JS엔진이 알아서 메모리 관리를 하고
쓰지 않는 재료는 가비지 컬렉터가 알아서 치워준다.
3줄 요약
- 가비지 컬렉션이 불필요한 메모리 정리
- 메모리 관리는 엔진이 전담
- 메모리 누수 위험 감소
'TIL' 카테고리의 다른 글
TIL_2025-02-05_var , let , const (0) | 2025.02.05 |
---|---|
TIL_2025-02-04_ 컴퓨터 구조 와 운영체제 (1) | 2025.02.04 |
Code_kata_js_신고결과받기 (0) | 2025.02.03 |
TIL_2025-01-31 (0) | 2025.01.31 |
TIL_2025-01-27 (0) | 2025.01.27 |
댓글