여기서 document는 html문서를 말한다.
트리 구조로 되어있는 객체 모델로써, javascript가 getElementbyid()와 같은 함수를 이용하여 html 문서의 각 요소(li, div와 같은 태그들)에 접근하고 사용할 수 있도록 하는 객체 모델이다.
이 트리구조는 이해하기 쉽다는 장점이 있지만, 거대한 dom트리에서는 속도, 오류 등 이슈가 발생한다.
이러한 단점을 해결하기 위해 나온 것이 가상돔이다.
실제 DOM 문서를 추상화한 개념으로, 변화가 많은 view를 실제 dom에서 직접 처리하는 방식이 아닌 virtual dom과 메모리에서 미리 처리하고 저장한 후 실제 dom과 동기화하는 프로그래밍 개념이다.
실제 dom보다 가볍고 빠른 렌더링이 가능하기 때문에 압도적으로 dom의 부담을 줄여준다.