0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DOMと仮想DOMの違いについて理解する

Posted at

DOMと仮想DOMは、どちらも「ブラウザ上でHTMLを表現・操作する仕組み」に関連していますが、役割や仕組みが異なります。

DOMとは

DOMとは、HTMLやXMLの文書構造をオブジェクトツリーとして表現したものを指します。

ブラウザはHTMLを読み込み、DOMツリーを生成します。

開発者はこのDOMツリーをJavaScriptから操作して、ページの内容や見た目を動的に変更できます。

特徴
標準仕様で、全ブラウザがサポート
直接操作すると、すぐに画面に反映される
大規模な変更や頻繁な更新では、パフォーマンスが悪くなる場合がある(再計算や再描画コストが高い)

仮想DOMとは

仮想DOMとは、DOMツリーの軽量なコピーをメモリ上に持ち、変更を効率的に行う仕組みを指します。

直接DOMを操作するのではなく、仮想DOM(JavaScriptオブジェクトとして表現されたツリー)を先に更新。

更新後、仮想DOMと**前の仮想DOMを比較(差分検出: diffing)して、必要最小限の操作だけを実DOMに適用します。

仮想DOMはブラウザが提供する機能ではなく、ライブラリが内部的に実現している仕組みです。

特徴
直接DOMを触るより効率的
変更が多いUIでも高速に動作しやすい
宣言的な書き方ができ、コードがシンプルになる
メモリ消費や初期化コストが多少増える

まとめ

DOMは「そもそもブラウザが持つ構造」であり、仮想DOMは「効率的にDOMを更新するために使うテクニック」です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?