अगणनीय संपत्ति
ऑब्जेक्ट में ऐसे गुण हो सकते हैं जो Object.keys() का उपयोग करके विशेष ऑब्जेक्ट के माध्यम से पुनरावृत्त होने पर दिखाई नहीं देते हैं या के लिए...में लूप। उन प्रकार की संपत्तियों को गैर-गणना योग्य . कहा जाता है गुण।
एक गैर-गणना योग्य संपत्ति बनाना
एक गैर-गणना योग्य संपत्ति बनाने के लिए हमें Object.defineProperty() का उपयोग करना होगा तरीका। गैर-गणना योग्य . बनाने के लिए यह एक विशेष विधि है किसी वस्तु में गुण।
निम्नलिखित उदाहरण में, नाम, आयु और देश जैसी तीन संपत्तियों को सामान्य रूप से बनाया गया था और Object.defineProperty( का उपयोग करके "वेतन" नामक एक संपत्ति बनाई गई थी। ) एन्यूमरेबल नाम की विधि और कुंजी को false . के साथ असाइन किया गया था . जब ऑब्जेक्ट "व्यक्ति" ऑब्जेक्ट.की () का उपयोग करके पुनरावृत्त हो गया तो नाम, आयु और देश जैसे गुण दिखाए गए जबकि संपत्ति "वेतन" दिखाई नहीं दे रही थी। चूंकि वेतन संपत्ति दिखाई नहीं दे रही थी इसलिए इसे गैर-गणना योग्य संपत्ति कहा जाता है। गैर-गणना योग्य गुण बनाने का यह तरीका है।
Object.defineProperty() आपको केवल पढ़ने के लिए गुण बनाने देता है जैसा कि हमने नीचे देखा, हम किसी व्यक्ति वस्तु के वेतन मूल्य को संशोधित करने में सक्षम नहीं हैं। वेतन संपत्ति को गणना योग्य बनाने के लिए कुंजी . को सही असाइन करें नाम गणनीय ।
उदाहरण
<html> <body> <script> var person = { name: 'gopal' }; person.age = '21'; person['country'] = 'India'; Object.defineProperty(person, 'salary',{ value : '80,000$', enumerable: false }) document.write(Object.keys(person)); </script> </body> </html>