পিএইচপি থেকে পৃথক, জাভাস্ক্রিপ্ট গ্লোবাল অ্যারে অ্যাক্সেসের প্রস্তাব দেয় না (এতে বর্তমানে ঘোষিত সমস্ত পরিবর্তনশীল নামের উল্লেখ রয়েছে)। যেমন, জাভাস্ক্রিপ্ট পরিবর্তনশীল ভেরিয়েবলের জন্য স্থানীয় সমর্থন সরবরাহ করে না। আপনি যাইহোক, এই বৈশিষ্ট্যটিকে ততক্ষণ অনুকরণ করতে পারবেন যতক্ষণ আপনি কোনও অ্যারে বা কোনও অবজেক্টের অংশ হিসাবে আপনার সমস্ত ভেরিয়েবলগুলি সংজ্ঞায়িত করেন না। এটি আপনার জন্য গ্লোবাল অ্যারে তৈরি করবে। উদাহরণস্বরূপ, hello
বৈশ্বিক স্কোপটিতে ভেরিয়েবলটিকে এভাবে ঘোষণার পরিবর্তে :
var hello = 'hello world';
আসুন এটি একটি বস্তুর ভিতরে encapsulate। আমরা সেই অবজেক্টকে ভিভি (ভেরিয়েবল ভেরিয়েবল) বলব:
var vv = {
'hello': 'hello world',
//Other variable variables come here.
},
referToHello = 'hello';
এখন আমরা এর সূচক দ্বারা পরিবর্তনশীল উল্লেখ করতে পারি, এবং যেহেতু অ্যারে সূচকগুলি একটি ভেরিয়েবল ব্যবহার করে সরবরাহ করা যেতে পারে আমরা একটি ভেরিয়েবল ভেরিয়েবল ব্যবহার করতে পারি:
console.log(vv[referToHello]); //Output: hello world
আপনার প্রশ্নের উত্তর
আসল প্রশ্নটিতে আপনি সরবরাহিত কোডটিতে এটি প্রয়োগ করুন:
var vv = {
'x': 'variable',
'variable': 'hello world!'
};
console.log(vv[vv['x']]); //Displays "hello, world!"
একটি ব্যবহারিক ব্যবহার
পূর্ববর্তী কোডটি হাস্যকরভাবে জটিল এবং অযৌক্তিক মনে হতে পারে তবে জাভাস্ক্রিপ্টে এই ধরণের এনক্যাপসুলেশন ব্যবহার করে ভেরিয়েবল ভেরিয়েবলের ব্যবহারিক ব্যবহার রয়েছে। নীচের উদাহরণে আমরা একটি অনির্ধারিত সংখ্যক এইচটিএমএল উপাদানগুলির আইডি পেতে একই ধারণাটি ব্যবহার করি।
var elementIds = [],
elements = ['message','fillOrStroke','sizePicker','colorPicker']; //The items in this array could be defined automatically via an input, database query, event, etc.
elements.forEach( (element) => {
elementIds[element] = document.getElementById(element);
});
এই উদাহরণটি elementIds
প্রতিটি উপাদানের আইডির ভিত্তিতে ভেরিয়েবল ভেরিয়েবল (কীগুলি ) ঘোষণা করে এবং প্রতিটি ভেরিয়েবলের মান হিসাবে বর্ণিত উপাদানটির নোডকে বরাদ্দ করবে। এবং যেহেতু জাভাস্ক্রিপ্টে গ্লোবাল ভেরিয়েবলগুলি ব্যবহার করা সাধারণত আপনার ভেরিয়েবল ভেরিয়েবলগুলিকে একটি অনন্য সুযোগ প্রদান করে নিরুৎসাহিত করা হয় (উদাহরণস্বরূপ, এগুলি এর মধ্যে ঘোষণা করেelementIds
অ্যারের ) কেবল ঝরঝরে নয়, আরও বেশি দায়বদ্ধ।