JavaScript'teki Sözde Dizi Türleri Arasındaki Fark
İki sözde dizi türü arasındaki fark,
DOM elemanları değiştiğinde farklı davranışlarıdır.
Örneğin, bir paragraf koleksiyonunu
HTMLCollection ve NodeList olarak aldığımızı varsayalım.
Daha sonra DOM'a yeni bir paragraf oluşturup eklediğimizde,
Bu paragraf otomatik olarak
HTMLCollection içinde görünecek, ancak
NodeList koleksiyonu değişmeden kalacaktır.
Bir örnekle inceleyelim. Bir div ve içinde paragraflar olsun. Aynı div'i ve aynı paragrafları iki farklı türde koleksiyon olarak alalım:
let parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p'); // NodeList
Div'e yeni bir paragraf ekleyelim:
let p = document.createElement('p');
parent.append(p);
Sonuç olarak, koleksiyonlardan biri değişecek, diğeri ise değişmeyecek:
console.log(elems1); // 4 paragraf - yeni olanla birlikte
console.log(elems2); // 3 başlangıç paragrafı
Yeni bir eleman eklendiğinde
children
özelliğinin nasıl davranacağını kontrol edin.
Yeni bir eleman eklendiğinde
childNodes
özelliğinin nasıl davranacağını kontrol edin.