JavaScriptのOOPにおける組み込みクラスの階層
組み込みクラスにも階層があります。 段落を例に見てみましょう:
<p>text</p>
変数に段落への参照を取得します:
let elem = document.querySelector('p');
コンソールでこの段落を見てみましょう:
console.dir(elem);
すでにご存知の通り、プロパティ [[Prototype]]
には段落のクラス名が含まれています。これは
HTMLParagraphElement です。このクラスの
プロパティとメソッドのリストを展開すると、
その下に再び [[Prototype]] プロパティが見つかり、
そこには親クラスが含まれています。それは HTMLElement になります。
それについても親を見つけることができ、
さらに同様に続きます。
このタグのクラス階層を 調べてください:
<div>text</div>
let elem = document.querySelector('div');
console.dir(elem);
このタグのクラス階層を 調べてください:
<input>
let elem = document.querySelector('input');
console.dir(elem);
このコレクションのクラス階層を 調べてください:
<div>text</div>
<div>text</div>
<div>text</div>
let elems = document.querySelectorAll('div');
console.dir(elems);
このコレクションのクラス階層を 調べてください:
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
let elem = document.querySelector('div');
let elems = elem.children;
console.dir(elems);