Йерархия на вградените класове в ООП в JavaScript

Вградените класове също имат йерархия. Нека разгледаме с пример на параграф:

html<p>text</p>

Нека получим референция към параграфа в променлива:

javascriptlet elem = document.querySelector('p');

Нека разгледаме нашия параграф в конзолата:

javascriptconsole.dir(elem);

Както вече знаете, в свойството [[Prototype]] се съдържа името на класа на параграфа. Това е HTMLParagraphElement. Ако разгънете списъка със свойства и методи на този клас, то отдолу отново ще откриете свойство [[Prototype]], което ще съдържа вече родителския клас и това ще бъде HTMLElement. За него също може да се намери родител и така нататък.

Задание 1

Проучете йерархията на класовете за този таг:

html<div>text</div>
javascriptlet elem = document.querySelector('div');
console.dir(elem);
Задание 2

Проучете йерархията на класовете за този таг:

html<input>
javascriptlet elem = document.querySelector('input');
console.dir(elem);
Задание 3

Проучете йерархията на класовете за тази колекция:

html<div>text</div>
<div>text</div>
<div>text</div>
javascriptlet elems = document.querySelectorAll('div');
console.dir(elems);
Задание 4

Проучете йерархията на класовете за тази колекция:

html<div>
  <p>text</p>
  <p>text</p>
  <p>text</p>
</div>
javascriptlet elem = document.querySelector('div');
let elems = elem.children;

console.dir(elems);