En JavaScript, nous avons plusieurs façons d'obtenir les propriétés d'un objet, en fonction de ce que nous voulons obtenir.
1) Object.keys()
, qui renvoie toutes les propriétés propres et énumérables d'un objet, une méthode ECMA5.
2) un for...in
boucle, qui renvoie toutes les propriétés énumérables d'un objet, qu'elles soient propres ou héritées de la chaîne de prototypes.
3) Object.getOwnPropertyNames(obj)
qui renvoie toutes les propriétés propres d'un objet, énumérables ou non.
Nous avons également des méthodes qui hasOwnProperty(prop)
nous permettent de vérifier si une propriété est héritée ou appartient réellement à cet objet, et propertyIsEnumerable(prop)
qui, comme son nom l'indique, nous permet de vérifier si une propriété est énumérable.
Avec toutes ces options, il n'y a aucun moyen d'obtenir un propriété non énumérable et non propre d'un objet, ce que je veux faire. Y a-t-il un moyen de faire ça? En d'autres termes, puis-je obtenir d'une manière ou d'une autre une liste des propriétés non énumérables héritées?
Je vous remercie.