Virtual DOM is a copy of the whole DOM that keeps all the changes in its memory until it finds the most effective way to update the real tree via a process called reconciliation or diffing. Its purpose is to reduce the amount of re–renders, improving the performance. It was introduced first with React, but now it’s also used by Vue.