Sisäänrakennettujen luokkien hierarkia OOP:ssa JavaScriptissä
Sisäänrakennetuilla luokilla on myös hierarkia. Katsotaanpa esimerkkiä kappaleesta:
<p>teksti</p>
Saadaan viittaus kappaleeseen muuttujaan:
let elem = document.querySelector('p');
Katsotaan kappalettamme konsolissa:
console.dir(elem);
Kuten jo tiedät, ominaisuudessa [[Prototype]]
sijaitsee kappaleen luokan nimi. Se on
HTMLParagraphElement. Jos lista
tämän luokan ominaisuuksista ja menetelmistä avataan,
niin alhaalta löytyy jälleen ominaisuus
[[Prototype]], joka sisältää nyt
jo vanhemman luokan ja se on HTMLElement.
Sillekin voidaan löytää vanhempi ja
niin edelleen.
Tutki luokkien hierarkiaa tälle tagille:
<div>teksti</div>
let elem = document.querySelector('div');
console.dir(elem);
Tutki luokkien hierarkiaa tälle tagille:
<input>
let elem = document.querySelector('input');
console.dir(elem);
Tutki luokkien hierarkiaa tälle kokoelmalle:
<div>teksti</div>
<div>teksti</div>
<div>teksti</div>
let elems = document.querySelectorAll('div');
console.dir(elems);
Tutki luokkien hierarkiaa tälle kokoelmalle:
<div>
<p>teksti</p>
<p>teksti</p>
<p>teksti</p>
</div>
let elem = document.querySelector('div');
let elems = elem.children;
console.dir(elems);