[開発知識]DOM,仮想DOM/Til#27
DOMと仮想DOMについて
DOM?
getElementsByClassName:クラス経由アクセス getElementById:IDでアクセス getElementsByName:name属性の値でアクセス querySelector: querySelector All:上記と同様ですが、すべての要素を同時にインポート そのうち
仮想DOM?
DOM?
DOM(Document Object Model)は、HTMLドキュメントを階層化してツリー構造を形成するモデルです
DOMはプログラミング言語でDOMにアクセスする方法を提供し、HTMLドキュメントの操作を支援します.
Node
複数のDOMタイプは継承インタフェースであるため,ノードの機能は同じである.
(firstChild、lastChild、parentNode...)
また、EventTargetを継承しているため、関連する機能も使用できます.
🚀 EventTarget
EventTargetは、イベントを受信し、イベントのリスナーを有するオブジェクト実装DOMインタフェースである.
ソース:MDN
DOMの使用
前述したように、JavaScriptでDOMを使用してHTMLドキュメントにアクセスできますconst button = document.querySelector('button');
上記のコードでHTMLドキュメントのbuttonをインポートできます
複数アクセス
上記では、querySelector
によってもたらされたものであるが、それ以外にも選択者に近づく方法がいくつかある.
const button = document.querySelector('button');
.name
導入クラス#name
銀id導入getElementsByClassName
HTML Collectionを返し、querySelectorAll
NoteListを返します仮想DOM?
仮想DOMはDOMの欠点を補うために作成された
DOMの欠点
開発者はDOMを使用してHTMLにアクセスし、変更し、これらのコンテンツをブラウザに反映し続けます.
この場合、各変更内容に一連の構造変更と再レンダリングプロセスが発生し、ページのパフォーマンスが低下します.
仮想DOMを使うと?
しかし、仮想DOMを使用すると、構造を変更してレンダリングする前に、仮想空間内の構造を確認し、最終的にはWeb上に実体化し、既存のDOMよりも優れたパフォーマンスを示すことができます.
仮想DOMを使用したフレームワーク
代表的なのはreact、Vue、Angular
Svelte
最近はバーチャルDOMを使わない開発が進んでいるそうですが、Svelteはフレームワークではなくコンパイラなので、この作業は可能です
しかしまだ始まっていないプログラムであるため、機能やコミュニティにおいても上記のREACT、VUEに比べて良くないという欠点がある.
しかし、時間が経つにつれて、より多くの立脚地があれば、フロントエンド開発者として魅力的なプログラムになると思います.
終了~
Reference
この問題について([開発知識]DOM,仮想DOM/Til#27), 我々は、より多くの情報をここで見つけました
https://velog.io/@wjdcksdud29/개발지식DOM가상-DOM-TIL-27
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について([開発知識]DOM,仮想DOM/Til#27), 我々は、より多くの情報をここで見つけました https://velog.io/@wjdcksdud29/개발지식DOM가상-DOM-TIL-27テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol