가상 DOM은 실제로 스크린에 랜더링하는 것이 아니기 때문에 DOM을 직접 업데이트하는 것보다 상대적으로 빠릅니다.
1-1. DOM(Document Object Model)
DOM은 문서 객체 모델이라고 하는데 결국은 브라우저에서 다들 HTML문서를 파싱하여 문서의 구성요소들을 객체로 구조화하여 나타낸 것입니다. Document에 있는 각 UI에 대한 노드가 포함됩니다. 웹 개발자가 JavaScript를 통해 콘텐츠를 수정할 수 있기 때문에 매우 유용합니다.
1-2 virtual DOM 쓰는 이유
어떠한 태그의 속성이나 값을 변경하려고 할때 DOM에 접근하는 자바스크립트 메서드를 사용하여 변경합니다. 태그의 색상을 변경한다고 가정했을 때 우리는 document.getElementById()로 먼저 접근합니다
이렇게 되면 두가지 측면에서 아쉬운 점이 있습니다. 메모리의 누수와 속도, 코드량.
고민 속에서 탄생한게 virtual DOM입니다.
그리고 추가로 virtual DOM의 작동 방식은 변화가 일어나면 virtual DOM을 생성하고 변화 전의 virtual DOM과 변화 후의 virtual DOM을 비교하여 바뀐 요소들만 DOM에 적용합니다.