質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
DOM

DOMは、Document Object Modelの略で、HTML文書やXML文書をアプリケーションから利用するためのAPIです。

Q&A

1回答

1716閲覧

DOMツリーと構文木の違い

2_34_koki

総合スコア67

DOM

DOMは、Document Object Modelの略で、HTML文書やXML文書をアプリケーションから利用するためのAPIです。

0グッド

0クリップ

投稿2020/07/04 02:12

レンダリングの理解をしている中で構文木からDOMツリーを作成していると書いてあったのですが
構文木とDOMツリーの違いがわかりません  
一部では構文木とDOMツリーは同一と書いてある記事もありました.
どのような違いがあるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/07/04 09:42

構文木は純粋なデータ構造ですが、DOM は表示用のオブジェクトで、状態 (input なら入力内容など) を持ちます。
Zuishin

2020/07/07 06:59

回答しています。わかったのかわからなかったのか、何とか言ってください。
guest

回答1

0

  • 構文木というのは、言語の構文を解析し、テキストで書かれたものを木構造にして扱いやすくしたものです。

  • DOM ツリーは、HTML の構文を解析し、テキストで書かれたものを木構造にして扱いやすくしたものです。

この意味では同じです。DOM ツリーは構文木の一種であると言えます。

しかし、構文木の主目的が構文解析であるのに対し、DOM ツリーの主目的は HTML への API を提供することです。その面では構文木と言ってしまうには少し逸脱した機能を持っているとも言えます。

たとえば、DOM ツリーにはスタイルが含まれます。スタイルは HTML を解析して得られたものではなく、CSS から得られたものである可能性があるので、DOM ツリーは HTML の構文を木構造にしたものとは言い難くなります。

構文木と DOM ツリーは別のレイヤーに属する言葉なので、重なる部分もあり、重ならない部分もあります。文脈次第と言えるでしょう。

投稿2020/07/06 02:29

Zuishin

総合スコア28669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/07/06 02:41

もう少し言うなら、DOM ツリーは HTML だけに使われる用語で、構文木はあらゆる言語に対して使われる一般的な用語です。両者の違いを知りたければ、違いを比較していくよりも、二つは全く別の概念と思って片方ずつ調べた方が早道だと思います。 たとえば「手と脚はどう違いますか?」と聞かれたらどう答えますか? 手は脚から進化したもので、大きく言うと脚の一種とも言えますが、脚と言うには特殊なものとも言えます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問