आधुनिक ब्राउज़रों में आप Object.getOwnPropertyNames
किसी ऑब्जेक्ट पर सभी गुण (एन्यूमरेबल और नॉन-एनेमरेबल) प्राप्त करने के लिए उपयोग कर सकते हैं । उदाहरण के लिए:
function Person ( age, name ) {
this.age = age;
this.name = name;
}
Person.prototype.greet = function () {
return "My name is " + this.name;
};
Person.prototype.age = function () {
this.age = this.age + 1;
};
Object.getOwnPropertyNames( Person.prototype );
ध्यान दें कि यह केवल स्वयं के गुणों को पुनः प्राप्त करता है , इसलिए यह प्रोटोटाइप श्रृंखला पर कहीं और पाए गए गुणों को वापस नहीं करेगा। हालांकि, यह आपके अनुरोध के रूप में प्रकट नहीं होता है, इसलिए मुझे लगता है कि यह दृष्टिकोण पर्याप्त है।
यदि आप केवल दमकते हुए गुण देखना चाहते हैं, तो आप इसके बजाय उपयोग कर सकते हैं Object.keys
। यह उसी संग्रह को लौटाएगा, जो गैर- constructor
संपत्ति के बराबर है।