Иерархия встроенных классов в ООП в 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);