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

জাভাস্ক্রিপ্টে রেস্ট প্যারামিটার এবং আর্গুমেন্টস অবজেক্টের পার্থক্য কী?


রেস্ট প্যারামিটার

রেস্ট প্যারামিটার দিয়ে একাধিক আর্গুমেন্টকে একটি অ্যারে হিসেবে রিপ্রেজেন্ট করা যায়। ES6-এ এটি যোগ করা হয়েছে। তিনটি ডট (...) দিয়ে নির্দেশিত হয়।

আর্গুমেন্টস অবজেক্ট

arguments অবজেক্ট জাভাস্ক্রিপ্টে একটি অবজেক্ট যা এক্সিকিউট হচ্ছে ফাংশনের আর্গুমেন্টগুলোকে রিপ্রেজেন্ট করে।

পার্থক্য

  • আর্গুমেন্টস অবজেক্ট ফাংশনে পাস করা সব আর্গুমেন্ট ইনক্লুড করে, অন্যদিকে রেস্ট প্যারামিটার শুধু সেসব আর্গুমেন্ট যা অন্য কোনো নাম দিয়া নেই।
  • রেস্ট প্যারামিটার হলো Array ইনস্ট্যান্স, কিন্তু arguments অবজেক্ট অ্যারে নয়। অ্যারে ইনস্ট্যান্সগুলোর মেথড রয়েছে: map, sort, pop, ইত্যাদি।

উদাহরণ

function demo(first, second, ...rest) {
    console.log("First:", first);      // 1
    console.log("Second:", second);    // 2
    console.log("Rest:", rest);        // [3, 4, 5] - Array
    console.log("Arguments:", arguments); // {0:1, 1:2, 2:3, 3:4, 4:5, length:5} - Object
    
    // Rest-এ Array মেথড ব্যবহার করা যায়
    console.log(rest.map(x => x * 2)); // [6, 8, 10]
    
    // Arguments-এ Array মেথড নেই (array-like)
    // Array.from(arguments).map(x => x * 2) // কাজ করবে
}

demo(1, 2, 3, 4, 5);

arguments অবজেক্টের সীমাবদ্ধতা

  • অ্যারে নয় (array-like object)
  • Arrow ফাংশনে arguments নেই
  • ক্যালি সাইটে arguments.callee ডিপ্রিকেটেড
  1. জাভাস্ক্রিপ্ট ফাংশনে ডিফল্ট ও রেস্ট প্যারামিটার পার্থক্য

  2. জাভাস্ক্রিপ্টে Object.freeze() এবং const-এর মূল পার্থক্য

  3. জাভাস্ক্রিপ্টে `new Object()` এবং অবজেক্ট লিটারেল নোটেশনের পার্থক্য

  4. জাভা এবং জাভাস্ক্রিপ্টের মধ্যে পার্থক্য কী?