JavaScript-এ অবজেক্ট রেফারেন্স দ্বারা পাস করা
অ্যারে এবং অবজেক্টগুলি অন্যান্য প্রিমিটিভ ডেটা টাইপ থেকে কিছুটা ভিন্ন। পার্থক্য হল যে, একটি অ্যারে সংরক্ষণকারী ভেরিয়েবলটি আসলে অ্যারেটি ধারণ করে না, বরং শুধুমাত্র রেফারেন্স করে সেটিকে।
অনুশীলনে এর অর্থ হল, যখন একটি অবজেক্ট অন্য একটি ভেরিয়েবলে অ্যাসাইন করা হয়, উভয় ভেরিয়েবলই একই অবজেক্টকে রেফারেন্স করবে। চলুন অনুশীলনে এটি চেষ্টা করি। ধরুন আমাদের নিম্নলিখিত অবজেক্টটি আছে:
let obj1 = {a: 1, b: 2, c: 3};
এটিকে একটি ভেরিয়েবল থেকে অন্য ভেরিয়েবলে অ্যাসাইন করি:
let obj2 = obj1;
এখন একটি ভেরিয়েবল পরিবর্তন করি:
obj2.a = '!';
ফলস্বরূপ, পরিবর্তনগুলি অন্য ভেরিয়েবলেও দৃশ্যমান হবে:
console.log(obj1); // {a: '!', b: 2, c: 3}
কód চালু না করে, নির্ধারণ করুন কনসোলে কী আউটপুট হবে:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
console.log(arr2);
কód চালু না করে, নির্ধারণ করুন কনসোলে কী আউটপুট হবে:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[1] = 'b';
console.log(arr1);
কód চালু না করে, নির্ধারণ করুন কনসোলে কী আউটপুট হবে:
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr1[0] = 'a';
arr2[0] = 'b';
console.log(arr2);