마크앤스윕
JavaScript - 가비지 컬렉션(Garbage Collection)
JavaScript는 눈에 보이지 않는 곳에서 메모리 관리를 수행합니다. 원시 값, 객체, 함수 등 우리가 만드는 모든 것은 메모리를 차지합니다. 글로벌 컨텍스트에서 각각의 함수 컨텍스트가 끝나면, 더 이상 필요 없어진 메모리를 처리하는 것이 가비지 컬렉션입니다. JavaScript에서는 도달가능성(reachability)이라는 개념을 사용해 메모리 관리를 수행합니다. 즉, 가비지 콜렉션 알고리즘의 핵심 개념은 참조 입니다. A라는 메모리를 통해 B라는 메모리에 접근할 수 있다면 B는 A에 참조되며 참조-세기(Reference-counting) 가비지 콜렉션 참조-세기 알고리즘은 "더 이상 필요없는 객체"를 "어떤 다른 객체도 참조하지 않는 객체"라고 정의합니다. 이 객체를 "가비지"라 부르며, 이를 참..