En los navegadores modernos, puede usar Object.getOwnPropertyNames
para obtener todas las propiedades (tanto enumerables como no enumerables) de un objeto. Por ejemplo:
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 );
Tenga en cuenta que esto solo recupera propiedades propias , por lo que no devolverá propiedades encontradas en otros lugares de la cadena de prototipos. Sin embargo, esa no parece ser su solicitud, por lo que asumiré que este enfoque es suficiente.
Si solo desea ver propiedades enumerables , puede usar Object.keys
. Esto devolvería la misma colección, menos la constructor
propiedad no enumerable .