हम एक संपत्ति . को परिभाषित कर सकते हैं डॉट . का उपयोग करके किसी ऑब्जेक्ट का और ब्रैकेट संकेतन एक अन्य तरीका भी है जिसमें Object.defineProperty() . नामक एक संपत्ति एक संपत्ति को परिभाषित करने के लिए प्रयोग किया जाता है। इसमें आमतौर पर 3 पैरामीटर होते हैं, वे हैं ऑब्जेक्ट का नाम, प्रॉपर्टी का नाम, प्रॉपर्टी डिस्क्रिप्टर।
वाक्यविन्यास
Object.defineProperty(object name, property name, property descriptor)
आइए इस विधि से एक संपत्ति को परिभाषित करें।
उदाहरण
निम्नलिखित उदाहरण में, प्रारंभ में, ऑब्जेक्ट में केवल एक ही गुण है जिसका नाम 'एक . है '। बाद में, एक और संपत्ति का नाम 'दो . रखा गया ' जोड़ दिया गया है। अब जब हमने सभी गुणों को प्रदर्शित करने का प्रयास किया, तो केवल पहली संपत्ति प्रदर्शित की गई, लेकिन अतिरिक्त संपत्ति को नहीं दिखाया गया जैसा कि आउटपुट में दिखाया गया है।
<html> <body> <script> var object = {one: 1}; Object.defineProperty( object, 'two', { value: 2 } ); document.write(JSON.stringify(object)); </script> </body> </html>
आउटपुट
{"one":1}
यह सब "गणना योग्य . के कारण है " विशेषता। "गणना योग्य किसी ऑब्जेक्ट में किसी प्रॉपर्टी को परिभाषित करने के लिए विशेषता सही होनी चाहिए। लेकिन, "गणना योग्य " मान लेता है "गलत" जब घोषित नहीं किया गया। इसलिए, मान को "सत्य . बनाने के लिए " हमें "गणना योग्य . घोषित करना होगा " और "सत्य" . असाइन करने की आवश्यकता है इसके लिए।
निम्नलिखित उदाहरण में जब "गणना योग्य " को प्रारंभ किया गया है और मान को सत्य . के रूप में असाइन किया गया है , आउटपुट में दिखाए गए अनुसार सभी गुण प्रदर्शित किए गए थे।
उदाहरण
<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}