De DOM is de boomstructuur die de browser van een HTML-document maakt, waarbij elk element een node is. JavaScript kan de DOM manipuleren met bijvoorbeeld getElementById, querySelector en appendChild. Dit triggert reflow/repaint en kost performance. Een virtual DOM (zoals in React) optimaliseert dit.