Hierarchia wbudowanych klas w OOP w JavaScript
Wbudowane klasy również mają hierarchię. Spójrzmy na przykład akapitu:
<p>text</p>
Pobierzmy referencję do akapitu do zmiennej:
let elem = document.querySelector('p');
Spójrzmy na nasz akapit w konsoli:
console.dir(elem);
Jak już wiesz, we właściwości [[Prototype]]
zawarta jest nazwa klasy akapitu. To
HTMLParagraphElement. Jeśli rozwiniesz
listę właściwości i metod tej klasy,
to na dole ponownie odkryjesz właściwość
[[Prototype]], która będzie zawierać
już klasę nadrzędną i będzie to HTMLElement.
Dla niej również można znaleźć rodzica i
tak dalej.
Przeanalizuj hierarchię klas dla tego tagu:
<div>text</div>
let elem = document.querySelector('div');
console.dir(elem);
Przeanalizuj hierarchię klas dla tego tagu:
<input>
let elem = document.querySelector('input');
console.dir(elem);
Przeanalizuj hierarchię klas dla tej kolekcji:
<div>text</div>
<div>text</div>
<div>text</div>
let elems = document.querySelectorAll('div');
console.dir(elems);
Przeanalizuj hierarchię klas dla tej kolekcji:
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
let elem = document.querySelector('div');
let elems = elem.children;
console.dir(elems);