मैं एक संपत्ति वर्णनकर्ता का उपयोग कर एक जावास्क्रिप्ट प्रॉपर्टी को परिभाषित करना चाहता हूं जिसमें कस्टम गुण हैं, दूसरे शब्दों में, मानक "मान", "लिखने योग्य" आदि के अलावा अन्य विशेषताएँ ... उदाहरण के लिए मैंने एक संपत्ति परिभाषित की है एक संपत्ति वर्णनकर्ता जिसमें कस्टम विशेषता "customAttr" है। ऑब्जेक्ट .defineProperty पर कॉल ठीक काम करता है लेकिन बाद में जब मैं प्रॉपर्टी डिस्क्रिप्टर के गुणों पर लूप करने का प्रयास करता हूं, तो मेरी कस्टम विशेषता सूचीबद्ध नहीं होती है। क्या मैं संभव करने की कोशिश कर रहा हूं? धन्यवादजावास्क्रिप्ट संपत्ति वर्णनकर्ता कस्टम विशेषताओं का समर्थन करते हैं?
var o = {};
Object.defineProperty(o, "newDataProperty", {
value: 101,
writable: true,
enumerable: true,
configurable: true,
customAttr: 1
});
var desc2 = Object.getOwnPropertyDescriptor(o, "newDataProperty");
// List the descriptor attributes.
for (var prop in desc2) {
console.log(prop + ': ' + desc2[prop]);
}
//PROBLEM: "customAttr" is not listed
ब्याज से, आप ऐसा क्यों करना चाहते हैं? –
हाय जेम्स ... कृपया नीचे दिए गए टिप्पणी को मैंने अपने उत्तर के नीचे दर्ज किया है ... रन टाइम पर मैं ऑब्जेक्ट की सभी संपत्तियों पर लूप करना चाहता हूं, यह देखने के लिए जांचें कि कौन से गुण कुछ विशेषताओं के साथ "सजाए गए" हैं, और इसके आधार पर उन गुणों का अस्तित्व, अनुपस्थिति और मूल्य, फिर संपत्ति के सत्यापन की तरह "चीजें" करने के लिए आगे बढ़ें ... उत्तर के लिए धन्यवाद – user2073948