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

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

新規登録して質問してみよう
ただいま回答率
85.47%
オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

3回答

934閲覧

イベントターゲットのdocumentプロパティについて

aae_11

総合スコア178

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

0クリップ

投稿2020/05/10 00:45

編集2020/05/10 00:47

イベントターゲットについて、お聞きしたいことがあります。
こちらの記事こちらの記事を読んでいたのですが、Windowオブジェクトのdocumentプロパティは「Document」オブジェクトを参照すると記載があります。
ここで疑問なのですが、「document」プロパティはWindowオブジェクトのプロパティですが、Documentオブジェクトを参照しているというのは、Documentオブジェクトを継承しているということなのでしょうか?
どのように参照しているのかといった部分が分らなかった為、こちらの部分についてアドバイス頂けましたら幸いです。

study_111👍を押しています

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

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

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

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

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

m.ts10806

2020/05/10 01:01 編集

何が問題なのか、そもそも何の役に立つのか分からない質問ですけど、 質問者は、オブジェクトとかプロパティとか意味を分かって使っているのでしょうか。それより問題はリファレンスを確認していないことですね。 (何年も前の)他人の解釈で書かれた記事で分からないのは当然でしょう。仕様書じゃないので。
guest

回答3

0

[[Prototype]]

ここで疑問なのですが、「document」プロパティはWindowオブジェクトのプロパティですが、Documentオブジェクトを参照しているというのは、Documentオブジェクトを継承しているということなのでしょうか?

疑問に思った事は、確かめましょう。

JavaScript

1console.dir(window.document); 2console.dir(Object.getPrototypeOf(window.document)); 3console.dir(Object.getPrototypeOf(Object.getPrototypeOf(window.document)));

Content-Type

Content-Type によって、HTML Parser, XML Parserがスイッチします。

Content-Type: text/html Content-Type: application/xhtml+xml

User agents must use the parsing rules described in this section to generate the DOM trees from text/html resources. Together, these rules define what is referred to as the HTML parser.


An XML parser is either associated with a Document object when it is created, or creates one implicitly.

Interface Window

For historical reasons, Window objects must also have a writable, configurable, non-enumerable property named HTMLDocument whose value is the Document interface object.

Interface Document

A document is said to be an XML document if its type is "xml", and an HTML document otherwise. Whether a document is an HTML document or an XML document affects the behavior of certain APIs.

Interface HTMLDocument

For the purposes of web development, you can generally think of HTMLDocument as an alias for Document, upon which HTMLDocument is based. You can find documentation for the members of HTMLDocument under the Document interface.

Re: aae_11 さん

投稿2020/05/10 02:58

編集2020/05/10 03:02
think49

総合スコア18166

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

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

think49

2020/05/10 03:23 編集

以下、蛇足なので、コメントで。 > イベントターゲットのdocumentプロパティについて 「イベントターゲット」とdocumentは無関係ですので、「イベントターゲット」の定義を学習し直すことをお勧めします。 https://developer.mozilla.org/ja/docs/Web/API/EventTarget
m.ts10806

2020/05/10 04:07

think49さん 細かいかもしれませんが、「そもそも元々学習してるかどうか不明」な段階で「し直す」は使えないのでは。
think49

2020/05/10 12:37 編集

@m.ts10806 さん そうですね。 「何も学習しない状態で資料を読んでも解読できない」は自明なので考えたくはなかったのですが、 もし、そういう状況なら、今の疑問はしばらく忘れて、体系的な知識を身につけるのが先になりますね。 https://uhyohyo.net/javascript/index.html 「困った→Web検索→理解できない」は、検索で虫食い上に情報を集めて、「足りない部分を想像で補完」しているのが原因と考えていて、体系的な学習をしていないのなら、絶対にやるべきだと私は思います。
guest

0

ここで疑問なのですが、「document」プロパティはWindowオブジェクトのプロパティですが、Documentオブジェクトを参照しているというのは、Documentオブジェクトを継承しているということなのでしょうか?

いいえ。window.documentはDocumentクラスのインスタンスです。
(javascriptにはクラスベースではないので正確には違いますが)

どのように参照しているのかといった部分が分らなかった為、こちらの部分についてアドバイス頂けましたら幸いです。

ここで言う参照はプログラム用語です。以下リンクを確認してください。
Object reference (オブジェクト参照) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN

投稿2020/05/10 02:01

ku__ra__ge

総合スコア4524

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

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

aae_11

2020/05/10 02:08

ご回答ありがとうございます。 >window.documentはDocumentクラスのインスタンスです となりますと、windowオブジェクトはDocumentクラスのインスタンスをプロパティとして保持しているということでしょうか? しかし、そうなりますと、Documentクラスのインスタンス化というのはどこで行われているのでしょうか...?
guest

0

オブジェクト指向言語では常に抽象化された機能面を考えますが、i-sa, has-a の違いを区別する必要があります。

「継承」については MDN の各ページに矩形と矢線で繋がった関係図が示されていますので、これを参考にすると良いと思います。Document の場合、EventTarget、 Node、 Document の順に継承しています(抽象化された機能面がそのまま拡張されるイメージ:is-a

また、Window の3段落目に概要が説明されています。

グローバルで使用可能であることが必要な、さまざまなアイテムを含むのに適した場所

Windowオブジェクトはブラウザのページ表示部においては global オブジェクトです(Workerなど、別の事例もあるので、詳細は割愛します)。

ですので、Window と Document とは 「別の機能だけど、1つのWindowには 1つのDocument」というイメージの has-a の関係性になります。

投稿2020/05/10 16:03

編集2020/05/10 16:08
AkitoshiManabe

総合スコア5434

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問