কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে Proxy() অবজেক্টের ব্যবহার


Proxy()

ECMAScript 6-এ ভিন্ন একটি নতুন ফিচার হলো proxy() অবজেক্ট। Proxy() অবজেক্ট মৌলিক অপারেশনগুলো (যেমন প্রোপার্টি লুকআপ, অ্যাসাইনমেন্ট, এনামারেশন, ফাংশন ইনভোকেশন ইত্যাদি) কাস্টমাইজ করার জন্য ব্যবহৃত হয়।

Proxy() অবজেক্টের ৩টি মূল উপাদান রয়েছে:

১) handler - এটি একটি প্লেসহোল্ডার অবজেক্ট যাতে ট্র্যাপ (traps) থাকে।

২) traps - ট্র্যাপগুলো প্রোপার্টি অ্যাক্সেস প্রদান করে।

৩) target - এটি একটি অবজেক্ট जिसे প্র্যাক্সি ভার্চুয়ালাইজ করে।

সিনট্যাক্স

var p = new Proxy(target, handler);

নিচের উদাহরণে, 'p' নামে একটি অবজেক্ট আছে যাতে কিছু প্রোপার্টি রয়েছে। যদি আমরা অবজেক্টে ডিফাইন করা নেই এমন প্রোপার্টি এক্সেস করতে চাই, তবে undefined আউটপুট হবে।

উদাহরণ

<html> <body> <script> var p = { Name: 'Ram kumar', Age: 27 }; document.write(person.Name); document.write("<br>"); document.write(person.Age); document.write("<br>"); document.write(person.designation); </script> </body> </html>

আউটপুট

Ram kumar 27 undefined


Proxy() ব্যবহার করলে undefined আউটপুট এড়ানো যায়। Proxy() অজানা প্রোপার্টিকে "get" কীওয়ার্ড দিয়ে ট্র্যাপ করতে চায়। হ্যান্ডলার, যা Proxy()-এর ভিতরে ডিফাইন করা থাকে, target এবং অনুরোধ করা কী নেমকে "get" ট্র্যাপে পাস করে।

নিচের উদাহরণে প্রাথমিকভাবে অবজেক্ট 'p'-তে designation এবং role নেই। কিন্তু Proxy() আসার পর, অবজেক্ট এবং এর প্রোপার্টিগুলো 'get' দিয়ে ট্র্যাপ করা হয়েছে এবং অ্যাসাইন না করা প্রোপার্টিগুলো আউটপুটে দেখানো হয়েছে।

উদাহরণ

<html> <body> <script> var p = { Name: 'Ram kumar', Age: 27 }; var handler = { get: function(target, prop) { return prop in target ? target[prop] : 'Content developer'; } }; var prox = new Proxy(p, handler); document.write(prox.Name); document.write("<br>"); document.write(prox.Age); document.write("<br>"); document.write(prox.designation); document.write("<br>"); document.write(prox.role); </script> </body> </html>

আউটপুট

Ram kumar 27 content developer content developer
  1. জাভাস্ক্রিপ্টে Object.assign() এর ব্যবহার

  2. জাভাস্ক্রিপ্টে Map অবজেক্টের ব্যবহার কী?

  3. জাভাস্ক্রিপ্টে Sentry-এর ব্যবহার কী?

  4. জাভাস্ক্রিপ্ট Proxy() অবজেক্ট