「JavaScript/DOM」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
標準へのリンク
Ef3 (トーク | 投稿記録)
ウェブブラウザ上のJS以外にもDOM実装は偏在する(本文とも矛盾)window.alert() はDOMの一部ではなくHTML の一部。
1 行
{{Nav}}
'''[[w:DOMDocument Object Model|DOM]]'''(ドム、'''''D'''ocument '''O'''bject '''M'''odel''、ドキュメント・オブジェクト・モデル)とは、プログラミング言語から[[HTML]]ドキュメントなどを扱うために標準化された仕様です<ref>かつてはW3CがDOMの標準化を行っていましたが、2021年6月現在では[[w:WHATWG|WHATWG]]の策定する DOM
Living Standard が標準です。 https://dom.spec.whatwg.org/</ref>。DOMをサポートするのはウェブブラウザ上のJavaScriptだけではありません。
Living Standard が標準です。 https://dom.spec.whatwg.org/</ref>。そのため、基本的にウェブブラウザ上でだけ DOM は動作します<ref> 山田祥寛『改訂新版 JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで~ 』、技術評論社、2019年8月17日 初版 第6刷、280ページ </ref>。ブラウザ以外では普通は動作しないのが普通なので、注意してください。ウェブブラウザ上のJavaScriptにはDOM関連のプロパティやメソッドが組み込まれています。たとえばウェブブラウザ上に警告ダイアログを表示する<code>window.alert</code>メソッドもDOMの一部です。
JavaとDOMによるXML文書の操作や [[w:Node.js|Node.js]] と [https://github.com/jsdom/jsdom jsdom] の組み合わせの様なウェブブラウザ上のJavaScript以外の DOM 実装は存在します<ref>元来、DOMは「プログラミングを言語に依存しない」オブジェクトモデリングシステムなので驚くに値しません</ref><ref>Abstract. DOM defines a platform-neutral model for events, aborting activities, and node trees. [https://dom.spec.whatwg.org/ DOM Living Standard.]</ref>。ウェブブラウザ上のJavaScriptにはDOM操作オブジェクトが組み込まれています。
 
注意したいのは、ウェブブラウザ上に警告ダイアログを表示する<code>window.alert</code>メソッドは Web API の一部ですがDOMの一部ではありません<ref>window.alert() [[https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-alert HTML Living Standard::8.8.1 Simple dialogs]]で定義されています。[[https://dom.spec.whatwg.org/ DOM Living Standard]]ではありません。</ref>。
 
== 概要 ==
HTMLの<code>scriptSCRIPT</code>要素を用いると、JavaScriptのプログラムをHTMLドキュメントの中に埋め込むことができます。
 
<syntaxhighlight lang="html5">
160 ⟶ 163行目:
MutationObserver
MutationRecord
NamedNodeMap (en-US)
Node
NodeFilter (en-US)
NodeIterator
NodeList
NonDocumentTypeChildNode
ParentNode
ProcessingInstruction (en-US)
Range
Text
180 ⟶ 183行目:
ということを理解する必要がある。DOMはXML文書を解析してその内容をメモリ上に展開するときコレクション同士がツリー状に繋がっている。既にJava等でデザインパターンを修得している上級者には[[w:Composite パターン|Composite パターン]]を取っていると言えば分かっていただけるであろう(より平易言葉で言うとデータがRoot(幹)から枝・葉の様につながった[[w:木構造_(データ構造)|木構造]]です)。DOMに存在する種々の「データ型」というのは、これの先にある様々な枝が何処でどう繋がれるのかを想像しながら使うものである。使っていく内に実感が追いついて慣れていくと思うが、初学者にはそこまでが単純ではないので頑張って欲しい。
}}
 
== 外部リンク ==
* [[https://dom.spec.whatwg.org/ DOM Living Standard]]
 
{{DEFAULTSORT:{{SUBPAGENAME}}}}