Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript ऑब्जेक्ट में प्रॉपर्टी परिभाषित करते समय enumerable एट्रिब्यूट का महत्व


हम डॉट (.) और ब्रैकेट [] नोटेशन का उपयोग करके किसी ऑब्जेक्ट की प्रॉपर्टी को परिभाषित कर सकते हैं। इसके अलावा Object.defineProperty() मेथड का उपयोग करके भी प्रॉपर्टी को परिभाषित किया जाता है। यह आमतौर पर 3 पैरामीटर लेता है: ऑब्जेक्ट का नाम, प्रॉपर्टी का नाम, और प्रॉपर्टी डिस्क्रिप्टर।

सिंटैक्स

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 होना आवश्यक है। लेकिन, जब घोषित नहीं किया जाता है तो "enumerable" का मान 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. - जावास्क्रिप्ट में Symbol.isConcatSpreadable का महत्व क्या है?

    Symbol.isConcatSpreadable यह प्रसिद्ध सिंबल यह कॉन्फ़िगर करने के लिए उपयोग किया जाता है कि Array.prototype.concat() मेथड का उपयोग करते समय किसी ऑब्जेक्ट को उसके ऐरे एलिमेंट्स में फ्लैट किया जाना चाहिए या नहीं। यदि यह false है तो ऐरे का कोई फ्लैटिंग नहीं होता। डिफ़ॉल्ट रूप से, Symbol.isConcatSpreadab

  1. - JavaScript में Object.assign() का क्या उपयोग है?

    Object.assign() मेथड का उपयोग एक या अधिक सोर्स ऑब्जेक्ट्स से टार्गेट ऑब्जेक्ट में ऑब्जेक्ट की सभी स्वयं की प्रॉपर्टीज़ (केवल एनुमरेबल) के मान कॉपी करने के लिए किया जाता है। यह टार्गेट ऑब्जेक्ट लौटाएगा। उदाहरण const targetObj = { a: 1, b: 2 }; const sourceObj = { b: 4, c: 5 }; const returnedTarget =

  1. - JavaScript में .stack प्रॉपर्टी का क्या उपयोग है?

    Error ऑब्जेक्ट्स की stack प्रॉपर्टी एक ट्रेस प्रदान करती है कि कौन से फ़ंक्शन्स कॉल किए गए, किस क्रम में, किस लाइन और फ़ाइल से, और किन तर्कों के साथ। स्टैक स्ट्रिंग सबसे हाल के कॉल्स से पहले वालों की ओर बढ़ती है, मूल ग्लोबल स्कोप कॉल तक वापस जाती है। यह Java में स्टैक ट्रेस के समान है। उदाहरण funct