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

জাভাস্ক্রিপ্ট অবজেক্টে প্রোপার্টি সংজ্ঞায়িত করার সময় enumerable অ্যাট্রিবিউটের গুরুত্ব


জাভাস্ক্রিপ্টে একটি অবজেক্টের প্রোপার্টি সংজ্ঞায়িত করার জন্য আমরা ডট (.) এবং ব্র্যাকেট ([]) নোটেশন ব্যবহার করতে পারি। এর বাইরে Object.defineProperty() মেথডও রয়েছে যা একটি প্রোপার্টি সংজ্ঞায়িত করতে ব্যবহৃত হয়। এই মেথড সাধারণত তিনটি প্যারামিটার নেয়: অবজেক্টের নাম, প্রোপার্টির নাম এবং প্রোপার্টি ডেসক্রিপ্টর।

সিনট্যাক্স

Object.defineProperty(অবজেক্টের_নাম, প্রোপার্টির_নাম, প্রোপার্টি_ডেসক্রিপ্টর)

এই মেথড দিয়ে একটি প্রোপার্টি সংজ্ঞায়িত করা যাক।

উদাহরণ

নিচের উদাহরণে, প্রাথমিকভাবে অবজেক্টে শুধু 'one' নামের একটি প্রোপার্টি রয়েছে। পরে 'two' নামের আরেকটি প্রোপার্টি যোগ করা হয়। কিন্তু যখন সকল প্রোপার্টি প্রদর্শন করা হয়, তখন শুধু প্রথম প্রোপার্টিই দেখায়, যোগ করা প্রোপার্টিটি দেখায় না (আউটপুট অনুযায়ী)।

<html> <body> <script> 
    var object = {one: 1}; 
    Object.defineProperty( 
        object, 
        'two', { 
            value: 2 
        } 
    ); 
    document.write(JSON.stringify(object)); 
</script> </body> </html>

আউটপুট

{"one":1}

এটি ঘটে "enumerable" অ্যাট্রিবিউটের কারণে। একটি প্রোপার্টি অবজেক্টে এনামারেবল (গণনাযোগ্য) হতে হলে "enumerable" অ্যাট্রিবিউটটি true হতে হবে। কিন্তু এটি ডিফল্টভাবে false থাকে যদি স্পষ্টভাবে ঘোষণা না করা হয়। তাই এটিকে true করতে হলে অবশ্যই "enumerable" ঘোষণা করে তার মান true বরাদ্দ করতে হবে।

নিচের উদাহরণে "enumerable" ইনিশিয়ালাইজ করে মান true দেওয়া হয়েছে, ফলে সকল প্রোপার্টি প্রদর্শিত হয়েছে।

উদাহরণ

<html> <body> <script> 
    var object = {one: 1}; 
    Object.defineProperty( 
        object, 
        'two', { 
            value: 2, 
            enumerable: true 
        } 
    ); 
    document.write(JSON.stringify(object)); 
</script> </body> </html>

আউটপুট

{"one":1,"two":2}

  1. জাভাস্ক্রিপ্টে '/g' ফ্ল্যাগের গুরুত্ব

  2. জাভাস্ক্রিপ্টে Symbol.isConcatSpreadable এর গুরুত্ব

  3. জাভাস্ক্রিপ্টে Object.assign() এর ব্যবহার

  4. জাভাস্ক্রিপ্টে .stack প্রপার্টির ব্যবহার