Dans les navigateurs modernes vous pouvez utiliser Object.getOwnPropertyNames
pour obtenir toutes les propriétés (les deux énumérable et non énumérable) sur un objet. Par exemple:
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;
};
// ["constructor", "greet", "age"]
Object.getOwnPropertyNames( Person.prototype );
Noter que ceci ne récupère propres propriétés, afin de ne pas renvoyer les propriétés trouvées ailleurs sur la chaîne de prototype. Qui, cependant, ne semble pas être votre demande et je vais donc assumer cette approche est suffisante.
Si vous voudrais seulement voir l' énumération des propriétés, vous pouvez à la place utiliser Object.keys
. Ce serait de retour la même collection, moins le non-énumérable constructor
de la propriété.