Hierarki av inbyggda klasser i OOP i JavaScript
Inbyggda klasser har också en hierarki. Låt oss titta på ett exempel med ett stycke:
<p>text</p>
Låt oss få en referens till stycket i en variabel:
let elem = document.querySelector('p');
Låt oss titta på vårt stycke i konsolen:
console.dir(elem);
Som du redan vet, innehåller egenskapen [[Prototype]]
namnet på klass för stycket. Det är
HTMLParagraphElement. Om du expanderar
listan över egenskaper och metoder för denna klass,
så hittar du längst ner igen egenskapen
[[Prototype]], som kommer att innehålla
föräldraklassen och det kommer att vara HTMLElement.
För den kan man också hitta en förälder och
så vidare.
Studera klasshierarkin för denna tagg:
<div>text</div>
let elem = document.querySelector('div');
console.dir(elem);
Studera klasshierarkin för denna tagg:
<input>
let elem = document.querySelector('input');
console.dir(elem);
Studera klasshierarkin för denna samling:
<div>text</div>
<div>text</div>
<div>text</div>
let elems = document.querySelectorAll('div');
console.dir(elems);
Studera klasshierarkin för denna samling:
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
let elem = document.querySelector('div');
let elems = elem.children;
console.dir(elems);