En JavaScript tenemos algunas formas de obtener las propiedades de un objeto, dependiendo de lo que queramos obtener.
1) Object.keys()
, que devuelve todas las propiedades enumerables propias de un objeto, un método ECMA5.
2) un for...in
bucle, que devuelve todas las propiedades enumerables de un objeto, independientemente de si son propiedades propias o heredadas de la cadena del prototipo.
3) Object.getOwnPropertyNames(obj)
que devuelve todas las propiedades propias de un objeto, enumerables o no.
También tenemos métodos que hasOwnProperty(prop)
nos permiten verificar si una propiedad es heredada o realmente pertenece a ese objeto, y propertyIsEnumerable(prop)
que, como sugiere el nombre, nos permite verificar si una propiedad es enumerable.
Con todas estas opciones, no hay forma de obtener una propiedad no enumerable ni propia de un objeto, que es lo que quiero hacer. ¿Hay alguna forma de hacer esto? En otras palabras, ¿puedo de alguna manera obtener una lista de las propiedades heredadas no enumerables?
Gracias.