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

জাভাস্ক্রিপ্টে function() কনস্ট্রাক্টর কী?


Function কনস্ট্রাক্টর

Function() কনস্ট্রাক্টর জাভাস্ক্রিপ্টে একটি নতুন ফাংশন অবজেক্ট তৈরি করতে ব্যবহৃত হয়। অবজেক্টগুলো ফাংশন তৈরি হওয়ার সময় পার্স হয়।

সিনট্যাক্স

new Function([arg1[, arg2[, ...argN]],] functionBody)

উদাহরণ

<html>
    <body>
        <script>
            var multiply = new Function('p', 'q', 'r', 'return p * q * r');
            document.write("Value after multiplication: " + multiply(5, 2, 9));
        </script>
    </body>
</html>

আউটপুট: Value after multiplication: 90

সতর্কতা এবং সীমাবদ্ধতা

  • সিকিউরিটি রিস্ক: eval()-এর মতো, স্ট্রিং থেকে কোড এক্সিকিউট করে
  • পারফরম্যান্স: প্রতিবার নতুন ফাংশন পার্স হয়, অপ্টিমাইজেশন কঠিন
  • স্কোপ: শুধু গ্লোবাল স্কোপে তৈরি হয়, ক্লোজার তৈরি করে না
  • ডিবাগিং: স্ট্যাক ট্রেসে "[anonymous]" বা "Function" দেখায়

তুলনা

বিষয়Function ConstructorFunction DeclarationFunction ExpressionArrow Function
পার্সিং টাইমরানটাইমপার্স টাইমপার্স টাইমপার্স টাইম
স্কোপগ্লোবাললেক্সিক্যাললেক্সিক্যাললেক্সিক্যাল
ক্লোজারনাহ্যাঁহ্যাঁহ্যাঁ
this বাইন্ডিংডাইনামিকডাইনামিকডাইনামিকলেক্সিক্যাল
সিকিউরিটিরিস্কিনিরাপদনিরাপদনিরাপদ

কখন ব্যবহার করবেন (বিরল)

  • ডাইনামিক কোড জেনারেশন (যেমন রুল ইঞ্জিন)
  • ব্যবহারকারীর ইনপুট থেকে ফাংশন তৈরি (সানিটাইজেশন সহ)
  • লাইব্রেরি ডেভেলপমেন্টে মেটা-প্রোগ্রামিং
  1. জাভাস্ক্রিপ্টে setTimeout() মেথড কী?

  2. জাভাস্ক্রিপ্টে অ্যানোনিমাস ফাংশন কী?

  3. জাভাস্ক্রিপ্টে ফাংশন এক্সপ্রেশন কী?

  4. জাভাস্ক্রিপ্টে ক্লোジャー (Closures) কী?