Йерархия на вградените класове в ООП в JavaScript
Вградените класове също имат йерархия. Нека разгледаме с пример на параграф:
<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);