フロントエンドをたまに遊びでいじっているのだが、HTMLとDOMって何が違うのかよくわかっていなかったので調べたメモ。 HTMLはMarkup Languageとあるように、ドキュメントをマークアップする一種のシリアライズフォーマットである。 DOM(Document Object Model)はより高いレベルの概念であり、シリアライズ形式を関知しないが、ドキュメントをツリーモデルとして表現するセマンティクスを提供する。 わかりやすくメンタルモデルを表現すると、ブラウザ(やnodeなどそれに準じるもの)がHTMLをパースし、対応するDOMモデルがオブジェクトとしてメモリ上に展開される、といえる。 プログラミング言語からはDOMを通じてドキュメントを操作する。 このためHTMLはDOMと等価ではない。 このためHTMLの属性といった構成要素がDOMと一対一対応するとは限らない。 HTMLの属
![HTMLとDOMとの違いメモ - Lambdaカクテル](https://cdn-ak-scissors.b.st-hatena.com/image/square/ad34bfb90c9a6046b3ace47d00569e0a11b8e30b/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FW%2FWindymelt%2F20231108%2F20231108184426.png)