জাভাস্ক্রিপ্টে বিভিন্ন ধরনের সিউডো অ্যারের মধ্যে পার্থক্য

দুই ধরনের সিউডো অ্যারের মধ্যে পার্থক্য 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 একটি নতুন উপাদান যোগ করার সময়।