វត្ថុ arguments ECMAScript

arguments অবজেক্ট

ফাংশনের কোডে, উন্নয়নকারীরা arguments বিশেষ অবজেক্টপ্রামাণ্যের নাম স্পষ্টভাবে উল্লেখ করা নয়এবং তাদের পরিদর্শন করতে পারেন。

উদাহরণস্বরূপ, ফাংশন sayHi() এ, প্রথম প্রামাণ্য message হয়। arguments[0] দিয়েও এই মানটি পরিদর্শন করা যায়, যা প্রথম প্রামাণ্যের মান (প্রথম প্রামাণ্য 0-এর স্থানে অবস্থিত, দ্বিতীয় প্রামাণ্য 1-এর স্থানে অবস্থিত, এবং এইভাবে অন্যরকম প্রামাণ্যগুলি অন্যত্র অবস্থিত)

তাই, ফাংশনটিকে সাধারণত নাম দিয়ে রয়েছেন না, তবুও ফাংশনটিকে পুনর্লিখিত করা যায়:

function sayHi() {
  if (arguments[0] == "bye") {
    return;
  }
  alert(arguments[0]);
}

পারামিটার সংখ্যা পরীক্ষা

ফাংশনের পারামিটার সংখ্যা পরীক্ষা করতে arguments অবজেক্ট ব্যবহার করা যেতে পারে, arguments.length এবং রেফারেন্স করা হবে。

নিচের কোডটি ফাংশনটির প্রত্যেক ব্যবহারের পরামিটার সংখ্যা ফিরিয়ে দেবে:

function howManyArgs() {
  alert(arguments.length);
}
howManyArgs("string", 45);
howManyArgs();
howManyArgs(12);

এই কোডটি যথাক্রমে "২", "০" এবং "১" দেখাবে。

মন্তব্য:অন্যান্য প্রোগ্রামিং ভাষার থেকে ভিন্ন, ECMAScript ফাংশনকে পাঠানো পারামিটারের সংখ্যা কোনোভাবেই নিরীক্ষা করে না। ডেভেলপার দ্বারা নির্ধারিত ফাংশনগুলি কোনোভাবেই পারামিটারের সংখ্যা নির্ধারিত না হলেও অর্ধেক পারামিটার স্বীকার করতে পারে (নেটস্কেপের ডকুমেন্টের মতে, সর্বোচ্চ ২৫৫টি পারামিটার স্বীকার করা যেতে পারে), এবং কোনো ত্রুটি হবে না। একটি অপসারিত পারামিটার undefined হিসেবে ফাংশনে পাঠানো হবে, অতিরিক্ত পারামিটারগুলি অবগত করা হবে না。

ফাংশন রিলোড সমীক্ষা

arguments অবজেক্ট দ্বারা ফাংশনে পাঠানো পারামিটারের সংখ্যা নির্ণয় করে, ফাংশন রিলোড করা হতে পারে:

function doAdd() {
  if(arguments.length == 1) {
    alert(arguments[0] + 5);
  } else if(arguments.length == 2) {
    alert(arguments[0] + arguments[1]);
  }
}
doAdd(10);	// ফিরিয়ে "১৫"
doAdd(40, 20);	// ফিরিয়ে "৬০"

একটি পারামিটার থাকলে, doAdd() ফাংশন পারামিটারকে ৫ মানে যোগ করে। দুটি পারামিটার থাকলে, তায়কায়কারীকে যোগ করে, যোগফল ফিরিয়ে দেয়। তাই, doAdd(10) ফিরিয়ে do "১৫" ফিরিয়ে দেয়, doAdd(40, 20) ফিরিয়ে do "৬০" ফিরিয়ে দেয়。

যদিও রিলোড তুলনায় ভালো না, কিন্তু এটা ECMAScript-এর এই সীমাবদ্ধতা থেকে বেরিয়ে আসার জন্য পর্যাপ্ত