DOM(Document object model; 문서 객체 모델) 이란?
: Web Tag(html, head, body 등) 를 js에서 이용 가능하도록 Tree 구조화한 모델을 의미합니다.
js에서 이용 가능하다?
: Memory에 보관할 수 있다는 것을 의미합니다.
가상 DOM(Virtual Dom) 이란?
: 실제 DOM의 가벼운 사본이라고 할 수 있으며, 추상화된 js 객체를 의미합니다.
특징
- React.js에서 UI 성능을 높이기 위해 사용되고 있습니다.
- 실제 DOM과 달리 DOM API를 가지고 있지 않고 DOM Property만 가지고 있습니다.
- 기존 DOM은 요소가 변경될 때마다 각각 요소에 대해 Render Tree가 재생성되며, 이를 기반으로 Paint 작업을 수행합니다. 그러나, 가상 DOM은 여러 가지 요소가 수정된 후 단 한번, 수정 대상만을 새롭게 렌더링하도록 동작합니다.