가비지 컬렉션(Garbage Collection)
가비지 컬렉션(Garbage Collection)이란 자바스크립트의 메모리 관리 방법으로 자바스크립트 엔진이 자동으로 데이터가 할당된 메모리에서 더 이상 사용되지 않는 데이터를 해제하는 것을 말합니다.
쉽게 말해 가비지 컬렉션이 메모리 공간을 순회하면서 불필요한 메모리, 즉 더 이상 사용하지 않는 참조값, 원시값 등을 발견하면 그때그때 제거하는 것입니다.
*가비지 컬렉션은 개발자가 직접 강제 실행하거나 관리할 수 없습니다.
const a = { x: 1 };
const b = a;
b.x = 2;
console.log(a);
console.log(b);
간단한 예시를 살펴보면 상수 a, b는 같은 참조값을 할당받았으며 중간에 객체의 x 속성의 값을 1에서 2로 변경을 해주었습니다.
a와 b는 여전히 메모리 공간의 주소를 참조하고 있지만, 해당 메모리 공간에서는 원시값 1이 저장된 메모리 공간을 추가적으로 바라보고 있다가 원시값 2를 메모리 공간에 저장하여 2가 저장된 메모리 공간을 바라보게 되었습니다.
이제 더 이상 메모리 공간에 저장된 원시값 1은 사용되지 않기 때문에 가비지 컬렉션은 해당 데이터를 해제하게 됩니다.
'JavaScript' 카테고리의 다른 글
JavaScript 동작 원리(동기와 비동기) (0) | 2022.12.23 |
---|---|
Memory Leak (0) | 2022.12.23 |
lodash를 활용한 깊은 복사 (0) | 2022.12.23 |
원시값과 참조값 (0) | 2022.12.23 |
Symbol, BigInt (0) | 2022.12.23 |