Иерархияи синфҳои дарсохта дар ООП дар JavaScript

Синфҳои дарсохта низ иерархия доранд. Биёед бо мисоли абзас назар кунем:

html<p>матн</p>

Истинод ба абзасро дар тағирёбанда мегирем:

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

Абзаси худро дар консол бубинем:

javascriptconsole.dir(elem);

Чун шумо аллакай медонед, дар хосият [[Prototype]] номи синфи абзас нигоҳ дошта мешавад. Ин HTMLParagraphElement аст. Агар рӯйхати хосиятҳо ва усулҳои ин синфро кушоед, пас аз поён бори дигар хосият [[Prototype]] пайдо мешавад, ки аллакай синфи волидайнро дар бар мегирад ва ин HTMLElement хоҳад буд. Барои он низ волидайнро ёфтан мумкин аст ва ҳамин тавр то поён.

Задание 1

Иерархияи синфҳоро барои ин тег омӯзед:

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

Иерархияи синфҳоро барои ин тег омӯзед:

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

Иерархияи синфҳоро барои ин ҷамъ омӯзед:

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

Иерархияи синфҳоро барои ин ҷамъ омӯзед:

html<div>
  <p>матн</p>
  <p>матн</p>
  <p>матн</p>
</div>
javascriptlet elem = document.querySelector('div');
let elems = elem.children;

console.dir(elems);