JavaScript-এ অবজেক্ট রেফারেন্স দ্বারা পাস করা

অ্যারে এবং অবজেক্টগুলি অন্যান্য প্রিমিটিভ ডেটা টাইপ থেকে কিছুটা ভিন্ন। পার্থক্য হল যে, একটি অ্যারে সংরক্ষণকারী ভেরিয়েবলটি আসলে অ্যারেটি ধারণ করে না, বরং শুধুমাত্র রেফারেন্স করে সেটিকে।

অনুশীলনে এর অর্থ হল, যখন একটি অবজেক্ট অন্য একটি ভেরিয়েবলে অ্যাসাইন করা হয়, উভয় ভেরিয়েবলই একই অবজেক্টকে রেফারেন্স করবে। চলুন অনুশীলনে এটি চেষ্টা করি। ধরুন আমাদের নিম্নলিখিত অবজেক্টটি আছে:

javascriptlet obj1 = {a: 1, b: 2, c: 3};

এটিকে একটি ভেরিয়েবল থেকে অন্য ভেরিয়েবলে অ্যাসাইন করি:

javascriptlet obj2 = obj1;

এখন একটি ভেরিয়েবল পরিবর্তন করি:

javascriptobj2.a = '!';

ফলস্বরূপ, পরিবর্তনগুলি অন্য ভেরিয়েবলেও দৃশ্যমান হবে:

javascriptconsole.log(obj1); // {a: '!', b: 2, c: 3}
Задание 1

কód চালু না করে, নির্ধারণ করুন কনসোলে কী আউটপুট হবে:

javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;

arr1[0] = 'a';
console.log(arr2);
Задание 2

কód চালু না করে, নির্ধারণ করুন কনসোলে কী আউটপুট হবে:

javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;

arr1[0] = 'a';
arr2[1] = 'b';

console.log(arr1);
Задание 3

কód চালু না করে, নির্ধারণ করুন কনসোলে কী আউটপুট হবে:

javascriptlet arr1 = [1, 2, 3];
let arr2 = arr1;

arr1[0] = 'a';
arr2[0] = 'b';

console.log(arr2);