JavaScript-ում պսեդդոմասիվների տեսակների տարբերությունը

Պսեդդոմասիվների երկու տեսակների տարբերությունը կայանում է DOM տարրերը փոխելիս դրանց տարբեր վարքագծում։ Ենթադրենք, օրինակ, մենք ստացանք պարբերությունների հավաքածու HTMLCollection և NodeList տեսքով։ Այնուհետև մենք կստեղծենք և կավելացնենք ևս մեկ պարբերություն մեր DOM-ում: Այս դեպքում այն ավտոմատ կերպով կհայտնվի HTMLCollection-ում, բայց NodeList հավաքածուն կմնա անփոփոխ։

Դիտարկենք օրինակով: Ենթադրենք մենք ունենք div, որի ներսում գտնվում են պարբերություններ: Ստացենք մեր div-ը և նույն պարբերությունները տարբեր տեսակի երկու հավաքածուների տեսքով.

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

Ավելացնենք ևս մեկ պարբերություն մեր div-ում.

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

Արդյունքում հավաքածուներից մեկը կփոխվի, իսկ երկրորդը՝ ոչ.

javascriptconsole.log(elems1); // 4 պարբերություն - նորով
console.log(elems2); // 3 սկզբնական պարբերություն
Задание 1

Ստուգեք, թե ինչպես կվարվի children հատկությունը նոր տարր ավելացնելիս։

Задание 2

Ստուգեք, թե ինչպես կվարվի childNodes հատկությունը նոր տարր ավելացնելիս։