解説
「仮想DOM」(Virtual DOM)は、「DOM」(Document Object Model)を仮想化したものです。
DOMはツリー状の構造をしており、HTMLなどの文書から情報を読み取ったり、操作したりするためのものです。WebページではJavaSciptがそのプログラムを担っています。
WebブラウザのDOMは複雑なものなので、そのまま利用すると、処理にそれなりの時間がかかります。仮想DOMでは、その計算を低コストで行い、差分の結果だけを生のDOMに反映させるアプローチで高速化を図っています。
仮想DOMを利用したJavaScriptのライブラリでは、ReactとVue.jsが人気があります。
サンプル
「Vue.js」の簡単なサンプルを掲載します。
ファイルはUTF-8で保存してください。検証はGoogle Chromeで行っています。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>「Vue.js」のサンプル</title> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <style> #appCount span, #appCount button {font-size: 300%;} </style> </head> <body> <div id="appCount"> <span>{{ count }}</span> <button v-on:click="countMessage">Count</button> <button v-on:click="resetMessage">Reset</button> </div> <script> const app = new Vue({ el: '#appCount', data: { count: 0 }, methods: { countMessage: function () { this.count ++; }, resetMessage: function () { this.count = 0; } } }); </script> </body> </html>