JavaScriptда псевдомассив турларининг фарқи

Икки турдаги псевдомассивларнинг фарқи DOM элементлари ўзгартирилганда турли хат-харакатда бўлишидадир. Фарз қилайлик, масалан, биз абзацлар тўпламини HTMLCollection ва NodeList кўринишида олдик. Сўнгра биз яна бир абзац яратиб, уни бизнинг DOMга қўшамиз. Бунда у автоматик тарзда HTMLCollectionда пайдо бўлади, лекин NodeList тўплами ўзгармас қолади.

Келинг, мисолда кўрайлик. Фарз қилайлик, бизда див бўлсин, уннинг ичида абзацлар бўлсин. Биз дивимизни ва ўша абзацларни икки хил турдаги тўпламлар кўринишида оламиз:

javascriptlet parent = document.querySelector('div');
let elems1 = document.getElementsByTagName('p'); // HTMLCollection
let elems2 = document.querySelectorAll('p');     // NodeList

Яна бир абзацни бизнинг дивга қўшайлик:

javascriptlet p = document.createElement('p');
parent.append(p);

Натижада тўпламларнинг бири ўзгаради, иккинчиси - ўзгармайди:

javascriptconsole.log(elems1); // 4 абзац - янгиси билан
console.log(elems2); // 3 та бошланғич абзац
Задание 1

children хусусияти янги элемент қўшылганда қандай хат-харакат қилишини текшириб кўринг.

Задание 2

childNodes хусусияти янги элемент қўшылганда қандай хат-харакат қилишини текшириб кўринг.